@@ -82,9 +82,10 @@ def __init__(self, data_path: Path | str):
82
82
self .dtype = self .dataset .dtype
83
83
84
84
self ._all_position_keys = self ._parse_all_position_keys ()
85
+ self ._ndtiff_channel_names = list (self ._axes .get ("channel" , [None ]))
85
86
self ._mm_meta = self ._get_summary_metadata ()
86
- self .channel_names = list ( self .dataset . get_channel_names ())
87
- if not self .channel_names :
87
+ self .channel_names = self ._ndtiff_channel_names
88
+ if not self .channel_names [ 0 ] :
88
89
self .channel_names = [f"Channel{ i } " for i in range (self .channels )]
89
90
_logger .warning (
90
91
"No channel names found in metadata. Using defaults: "
@@ -127,18 +128,21 @@ def _get_summary_metadata(self):
127
128
pm_metadata = self .dataset .summary_metadata
128
129
pm_metadata ["MicroManagerVersion" ] = "pycromanager"
129
130
pm_metadata ["Positions" ] = len (self )
131
+
132
+ p_idx = self ._all_position_keys [0 ]
133
+ c_idx = self ._ndtiff_channel_names [0 ]
130
134
img_metadata = self .get_image_metadata (
131
- self . _all_position_keys [ 0 ] , 0 , 0 , 0
135
+ p_idx , 0 , c_idx , 0
132
136
)
133
137
134
138
pm_metadata ["z-step_um" ] = None
135
139
if "ZPosition_um_Intended" in img_metadata .keys ():
136
140
pm_metadata ["z-step_um" ] = np .around (
137
141
abs (
138
- self .get_image_metadata (0 , 0 , 0 , 1 )[
142
+ self .get_image_metadata (p_idx , 0 , c_idx , 1 )[
139
143
"ZPosition_um_Intended"
140
144
]
141
- - self .get_image_metadata (0 , 0 , 0 , 0 )[
145
+ - self .get_image_metadata (p_idx , 0 , c_idx , 0 )[
142
146
"ZPosition_um_Intended"
143
147
]
144
148
),
@@ -149,7 +153,7 @@ def _get_summary_metadata(self):
149
153
if "position" in self ._axes :
150
154
for position in self ._axes ["position" ]:
151
155
position_metadata = {}
152
- img_metadata = self .get_image_metadata (position , 0 , 0 , 0 )
156
+ img_metadata = self .get_image_metadata (position , 0 , c_idx , 0 )
153
157
154
158
if img_metadata is not None and all (
155
159
key in img_metadata .keys ()
0 commit comments