def handle()

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)]