@@ -56,8 +56,8 @@ def get_dq_data(data2d: SasData) -> npt.NDArray[np.floating]:
5656 # Final protection of dq
5757 if dq_overlap < 0 :
5858 dq_overlap = dqy_at_z_min
59- dqx_data = dqx_data [np .isfinite (data2d ._data_contents [ "I" ] .value )]
60- dqy_data = dqy_data [np .isfinite (data2d ._data_contents [ "I" ] .value )] - dq_overlap
59+ dqx_data = dqx_data [np .isfinite (data2d .ordinate .value )]
60+ dqy_data = dqy_data [np .isfinite (data2d .ordinate .value )] - dq_overlap
6161 # def; dqx_data = dq_r dqy_data = dq_phi
6262 # Convert dq 2D to 1D here
6363 dq_data = np .sqrt (dqx_data ** 2 + dqy_data ** 2 )
@@ -205,7 +205,7 @@ def __call__(self, data2d: SasData = None) -> SasData:
205205
206206 data_contents = {
207207 "Q" : Quantity (qx_data , data2d ._data_contents ["Qx" ].units , None ),
208- "I" : Quantity (intensity , data2d ._data_contents [ "I" ] .units , error ),
208+ "I" : Quantity (intensity , data2d .ordinate .units , error ),
209209 }
210210 return SasData (f"{ data2d .name } : Slab X Average" , data_contents , one_dim , data2d .metadata )
211211
@@ -278,7 +278,7 @@ def __call__(self, data2d: SasData = None) -> SasData:
278278
279279 data_contents = {
280280 "Q" : Quantity (qy_data , data2d ._data_contents ["Qy" ].units , None ),
281- "I" : Quantity (intensity , data2d ._data_contents [ "I" ] .units , error ),
281+ "I" : Quantity (intensity , data2d .ordinate .units , error ),
282282 }
283283 return SasData (f"{ data2d .name } : Slab Y Average" , data_contents , one_dim , data2d .metadata )
284284
@@ -323,16 +323,16 @@ def __call__(self, data2D: SasData, ismask: bool = False) -> SasData:
323323 :return: SasData object with x (bin centers), y (intensity), dy and dx (if available)
324324 """
325325 # Work on unmasked finite arrays first (matches legacy filtering)
326- finite_mask = np .isfinite (data2D ._data_contents [ "I" ] .value )
326+ finite_mask = np .isfinite (data2D .ordinate .value )
327327 if not np .any (finite_mask ):
328328 raise RuntimeError (f"Circular averaging: invalid q_data: { data2D .q_data } " )
329329
330- data_all = data2D ._data_contents [ "I" ] .value [finite_mask ]
330+ data_all = data2D .ordinate .value [finite_mask ]
331331 qx_all = data2D ._data_contents ["Qx" ].value [finite_mask ]
332332 qy_all = data2D ._data_contents ["Qy" ].value [finite_mask ]
333333 q_all = np .sqrt (data2D ._data_contents ["Qx" ].value ** 2 + data2D ._data_contents ["Qy" ].value ** 2 )[finite_mask ]
334- err_all = np .sqrt (data2D ._data_contents [ "I" ] .variance .value )[finite_mask ]
335- mask_all = (data2D .mask if data2D .mask is not None else np .ones_like (data2D ._data_contents [ "I" ] .value , dtype = bool ))[finite_mask ]
334+ err_all = np .sqrt (data2D .ordinate .variance .value )[finite_mask ]
335+ mask_all = (data2D .mask if data2D .mask is not None else np .ones_like (data2D .ordinate .value , dtype = bool ))[finite_mask ]
336336
337337 # Optional mask handling: legacy used an ismask flag to optionally skip masked points
338338 if ismask :
@@ -385,7 +385,7 @@ def __call__(self, data2D: SasData, ismask: bool = False) -> SasData:
385385
386386 data_contents = {
387387 "Q" : Quantity (x , data2D ._data_contents ["Qx" ].units , dQ ),
388- "I" : Quantity (intensity , data2D ._data_contents [ "I" ] .units , error ),
388+ "I" : Quantity (intensity , data2D .ordinate .units , error ),
389389 }
390390 return SasData (f"{ data2D .name } : Circular Average" , data_contents , one_dim , data2D .metadata )
391391
@@ -435,20 +435,19 @@ def __call__(self, data2D: SasData) -> SasData:
435435 msg = "Data supplied for ring averaging must be of type SasData."
436436 raise RuntimeError (msg )
437437 if not ("Qx" in data2D ._data_contents and
438- "Qy" in data2D ._data_contents and
439- "I" in data2D ._data_contents ):
440- msg = "SasData object for ring averaging must contain 'Qx', 'Qy', and 'I' data."
438+ "Qy" in data2D ._data_contents ):
439+ msg = "SasData object for ring averaging must contain 'Qx' and 'Qy' data."
441440 raise RuntimeError (msg )
442441
443442 # Get data
444- valid_data = np .isfinite (data2D ._data_contents [ "I" ] .value )
443+ valid_data = np .isfinite (data2D .ordinate .value )
445444
446- data = data2D ._data_contents [ "I" ] .value [valid_data ]
447- err_data = np .sqrt (data2D ._data_contents [ "I" ] .variance .value )[valid_data ]
445+ data = data2D .ordinate .value [valid_data ]
446+ err_data = np .sqrt (data2D .ordinate .variance .value )[valid_data ]
448447 qx_data = data2D ._data_contents ["Qx" ].value [valid_data ]
449448 qy_data = data2D ._data_contents ["Qy" ].value [valid_data ]
450449 q_data = np .sqrt (data2D ._data_contents ["Qx" ].value ** 2 + data2D ._data_contents ["Qy" ].value ** 2 )[valid_data ]
451- mask_data = (data2D .mask if data2D .mask is not None else np .ones_like (data2D ._data_contents [ "I" ] .value , dtype = bool ))[valid_data ]
450+ mask_data = (data2D .mask if data2D .mask is not None else np .ones_like (data2D .ordinate .value , dtype = bool ))[valid_data ]
452451
453452 # Set space for 1d outputs
454453 phi_bins = np .zeros (self .nbins )
@@ -505,7 +504,7 @@ def __call__(self, data2D: SasData) -> SasData:
505504
506505 data_contents = {
507506 "Phi" : Quantity (phi_values [idx ], radians , None ),
508- "I" : Quantity (phi_bins [idx ], data2D ._data_contents [ "I" ] .units , phi_err [idx ]),
507+ "I" : Quantity (phi_bins [idx ], data2D .ordinate .units , phi_err [idx ]),
509508 }
510509 return SasData (f"{ data2D .name } : Ring Average" , data_contents , angle_dim , data2D .metadata )
511510
@@ -641,7 +640,7 @@ def __call__(self, data2d: SasData = None) -> SasData:
641640
642641 data_contents = {
643642 "Q" : Quantity (combined_q [finite ], data2d ._data_contents ["Qx" ].units , None ),
644- "I" : Quantity (average_intensity [finite ], data2d ._data_contents [ "I" ] .units , combined_err [finite ]),
643+ "I" : Quantity (average_intensity [finite ], data2d .ordinate .units , combined_err [finite ]),
645644 }
646645 else :
647646 # The secondary ROI is labelled with negative Q values.
@@ -651,7 +650,7 @@ def __call__(self, data2d: SasData = None) -> SasData:
651650
652651 data_contents = {
653652 "Q" : Quantity (combined_q , data2d ._data_contents ["Qx" ].units , None ),
654- "I" : Quantity (combined_intensity , data2d ._data_contents [ "I" ] .units , combined_error ),
653+ "I" : Quantity (combined_intensity , data2d .ordinate .units , combined_error ),
655654 }
656655
657656 return SasData (f"{ data2d .name } :SectorQ Average" , data_contents , one_dim , data2d .metadata )
@@ -738,7 +737,7 @@ def __call__(self, data2d: SasData = None) -> SasData:
738737
739738 data_contents = {
740739 "Q" : Quantity (q_data , data2d ._data_contents ["Qx" ].units , None ),
741- "I" : Quantity (intensity , data2d ._data_contents [ "I" ] .units , error ),
740+ "I" : Quantity (intensity , data2d .ordinate .units , error ),
742741 }
743742 return SasData (f"{ data2d .name } : Wedge Q Average" , data_contents , one_dim , data2d .metadata )
744743
@@ -846,7 +845,7 @@ def __call__(self, data2d: SasData = None) -> SasData:
846845 # intensity and error returned by DirectionalAverage are already filtered to the populated/finite bins
847846 data_contents = {
848847 "Phi" : Quantity (phi_centers , radians , None ),
849- "I" : Quantity (intensity , data2d ._data_contents [ "I" ] .units , error ),
848+ "I" : Quantity (intensity , data2d .ordinate .units , error ),
850849 }
851850 return SasData (f"{ data2d .name } : Wedge Phi Average" , data_contents , angle_dim , data2d .metadata )
852851
0 commit comments