in MMS/dicom_featurization_service.py [0:0]
def handle(self, data, context):
if not self.initialized:
self.initialize(context)
if data is None:
return None
try:
preprocess_start = time.time()
imageinfo = self.preprocess(data)
if imageinfo:
inference_start = time.time()
vectorarray = self.inference(imageinfo['image'])
postprocess_start = time.time()
res = self.postprocess(imageinfo['id'], imageinfo['ViewPosition'], vectorarray, imageinfo['ES'])
logging.info('create ES index response: {}'.format(res))
end_time = time.time()
metrics = context.metrics
metrics.add_time("PreprocessTime", round((inference_start - preprocess_start) * 1000, 2))
metrics.add_time("InferenceTime", round((postprocess_start - inference_start) * 1000, 2))
metrics.add_time("PostprocessTime", round((end_time - postprocess_start) * 1000, 2))
return ['Succeeded']
else:
return ['NO ViewPosition']
except Exception as e:
logging.error(e, exc_info=True)
return [str(e)]