From 9b15916f96558dc7ffda566c9830d0c4467e32f7 Mon Sep 17 00:00:00 2001 From: Christopher Rhodes <christopher.rhodes@embl.de> Date: Mon, 15 Apr 2024 10:19:09 +0200 Subject: [PATCH] More verbose error when matching input and model dimensionality --- model_server/extensions/ilastik/models.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/model_server/extensions/ilastik/models.py b/model_server/extensions/ilastik/models.py index a071e39d..a2b25659 100644 --- a/model_server/extensions/ilastik/models.py +++ b/model_server/extensions/ilastik/models.py @@ -162,8 +162,15 @@ class IlastikObjectClassifierFromSegmentationModel(IlastikModel, InstanceSegment return ObjectClassificationWorkflowBinary def infer(self, input_img: GenericImageDataAccessor, segmentation_img: GenericImageDataAccessor) -> (np.ndarray, dict): - if self.model_chroma != input_img.chroma or self.model_3d != input_img.is_3d(): - raise IlastikInputShapeError() + if self.model_chroma != input_img.chroma: + raise IlastikInputShapeError( + f'Model {self} expects {self.model_chroma} input channels but received only {input_img.chroma}' + ) + if self.model_3d != input_img.is_3d(): + if self.model_3d: + raise IlastikInputShapeError(f'Model is 3D but input image is 2D') + else: + raise IlastikInputShapeError(f'Model is 2D but input image is 3D') assert segmentation_img.is_mask() if isinstance(input_img, PatchStack): -- GitLab