@@ -157,13 +157,11 @@ def _add_table(self, coords, radii, props, name="Shapes Layer"):
157157
158158 # Add the shapes layer
159159 layer = self ._create_shapes_layer (table_data , name )
160-
160+
161161 # Add properties to segmentation layer
162162 segmentation_layer = self ._get_layer_selector_layer (self .image_selector_name1 )
163- if not segmentation_layer .properties :
164- segmentation_layer .properties = table_data
165- else :
166- segmentation_layer .properties ["morphology" ] = table_data
163+
164+ segmentation_layer .metadata ["morphology" ] = table_data
167165
168166 if add_table is not None :
169167 add_table (layer , self .viewer )
@@ -186,7 +184,7 @@ def on_measure_vesicle_morphology(self):
186184 return
187185
188186 # get metadata from layer if available
189- metadata = self ._get_layer_selector_data (self .image_selector_name1 , return_metadata = True )
187+ metadata = self ._get_layer_selector_data (self .image_selector_name , return_metadata = True )
190188 resolution = metadata .get ("voxel_size" , None )
191189 if resolution is not None :
192190 resolution = [v for v in resolution .values ()]
@@ -212,7 +210,7 @@ def on_measure_structure_morphology(self):
212210 show_info ("INFO: Please choose a segmentation." )
213211 return
214212 # get metadata from layer if available
215- metadata = self ._get_layer_selector_data (self .image_selector_name1 , return_metadata = True )
213+ metadata = self ._get_layer_selector_data (self .image_selector_name , return_metadata = True )
216214 resolution = metadata .get ("voxel_size" , None )
217215 if resolution is not None :
218216 resolution = [v for v in resolution .values ()]
@@ -226,10 +224,10 @@ def on_measure_structure_morphology(self):
226224 def _add_table_structure (self , morphology ):
227225 segmentation_layer = self ._get_layer_selector_layer (self .image_selector_name1 )
228226 table_data = self ._to_table_data_structure (morphology )
229- if not segmentation_layer . properties :
230- segmentation_layer .properties = table_data
231- else :
232- segmentation_layer .properties [ "morphology" ] = table_data
227+
228+ segmentation_layer .metadata [ "morphology" ] = table_data
229+ segmentation_layer . properties = table_data
230+ print ( "segmentation layer metadata: \n " , segmentation_layer .metadata )
233231
234232 # Add a table layer to the Napari viewer
235233 if add_table is not None :
@@ -244,11 +242,14 @@ def _add_table_structure(self, morphology):
244242
245243 def _to_table_data_structure (self , morphology ):
246244 # Create table data
247- table_data = {
248- "Name" : morphology ["perimeter [pixel]" ],
249- "area [pixel^2]" : morphology ["area [pixel^2]" ],
250- "perimeter [pixel]" : morphology ["perimeter [pixel]" ],
251- }
245+ return morphology
246+ # for k, v in morphology.items():
247+ # table_data = {k: v}
248+ # table_data = {
249+ # "Name": morphology["perimeter [pixel]"],
250+ # "area [pixel^2]": morphology["area [pixel^2]"],
251+ # "perimeter [pixel]": morphology["perimeter [pixel]"],
252+ # }
252253 return pd .DataFrame (table_data )
253254
254255 def _create_settings_widget (self ):
0 commit comments