@@ -228,8 +228,28 @@ def set_image(self, image: Image, name: str = 'Image'):
228228 image = _get_viewer_point_set (image )
229229 self .viewer_rpc .itk_viewer .setPointSets (image )
230230 @fetch_value
231- async def get_image (self ):
232- return await self .viewer_rpc .itk_viewer .getImage ()
231+ async def get_image (self , name : str = 'Image' ) -> NgffImage :
232+ """Get the full, highest resolution image.
233+
234+ :param name: Name of the loaded image data to use. 'Image', the
235+ default, selects the first loaded image.
236+ :type name: str
237+
238+ :return: image
239+ :rtype: NgffImage
240+ """
241+ if store := self .stores .get (name ):
242+ multiscales = from_ngff_zarr (store )
243+ loaded_image = multiscales .images [0 ]
244+ roi_data = loaded_image .data
245+ return to_ngff_image (
246+ roi_data ,
247+ dims = loaded_image .dims ,
248+ scale = loaded_image .scale ,
249+ name = name ,
250+ axes_units = loaded_image .axes_units
251+ )
252+ raise ValueError (f'No image data found for { name } .' )
233253
234254 @fetch_value
235255 def set_image_blend_mode (self , mode : str ):
@@ -441,8 +461,24 @@ def set_label_image(self, label_image: Image):
441461 label_image = _get_viewer_point_set (label_image )
442462 self .viewer_rpc .itk_viewer .setPointSets (label_image )
443463 @fetch_value
444- async def get_label_image (self ):
445- return await self .viewer_rpc .itk_viewer .getLabelImage ()
464+ async def get_label_image (self ) -> NgffImage :
465+ """Get the full, highest resolution label image.
466+
467+ :return: label_image
468+ :rtype: NgffImage
469+ """
470+ if store := self .stores .get ('LabelImage' ):
471+ multiscales = from_ngff_zarr (store )
472+ loaded_image = multiscales .images [0 ]
473+ roi_data = loaded_image .data
474+ return to_ngff_image (
475+ roi_data ,
476+ dims = loaded_image .dims ,
477+ scale = loaded_image .scale ,
478+ name = 'LabelImage' ,
479+ axes_units = loaded_image .axes_units
480+ )
481+ raise ValueError (f'No label image data found.' )
446482
447483 @fetch_value
448484 def set_label_image_blend (self , blend : float ):
0 commit comments