tasks.py
1.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
from __future__ import absolute_import
from celery.task import Task
from pyrosapp.models import *
import time
import os
IMAGES_FOLDER = "images"
class analysis(Task):
'''
Gets the name of the image to analyze in parameter
It applies the calibrations, then makes the
'''
def run(self, plan_id):
# je dois jsute créer mes deux fonctions, une pour les corrections, et l'autre pour les analyses
plan = Plan.objects.get(id=plan_id)
image_name = plan.name
print("analysis : ", image_name)
new_img = self.apply_calibrations(image_name)
# TODO: Faire ça uniquement si c'est une image provenant d'une alerte
self.do_analysis(new_img)
# TODO: virer tout ça
time.sleep(1)
with open(os.path.join(IMAGES_FOLDER, str(image_name) + '_analyzed'), 'w'):
pass
message = 'Analyzed image in ' + str(image_name)
Log.objects.create(agent='Analyzer', message=message)
def apply_calibrations(self, image_name):
'''
Uses the calibration files to correct the image (changes the image bytes)
Send the new images to the FSC
'''
# TODO: récupérer les bonne images dans le dossier analyzer/calibrations, et les appliquer
# renvoie le nom de l'image calibrée; penser à vérifier que les fichiers de calibration existent à cet endroit
# TODO: copier l'image dans le bon dossier pour le filesync (lien symbolique)
return "toto.fitz"
def do_analysis(self, new_img):
'''
Use the scientific softwares to create analysis files (doesn't change the image bytes)
Sends the results to the FSC
'''
# TODO: utiliser les programmes scientifiques pour générer les analyses
# TODO: copier les résultats des analyses dans le bon dossier pour le filesync (lien symbolique)
pass