@@ -901,12 +901,10 @@ def _repr_html_(self):
901
901
902
902
903
903
class FitResults (collections .abc .Sequence ):
904
- def __init__ (self , results , axis = None ):
905
- if axis and axis .nbin != len (results ):
906
- raise ValueError ("Axis length does not correspond to number of results" )
907
-
904
+ def __init__ (self , results ):
905
+ if np .array ([not isinstance (result , FitResult ) for result in results ]).any ():
906
+ raise TypeError (f"Elements in { results !r} are not FitResult objects" )
908
907
self .results = results
909
- self .axis = axis
910
908
911
909
def __add__ (self , other ):
912
910
if isinstance (other , FitResult ):
@@ -935,19 +933,21 @@ def covariance_results(self):
935
933
def optimize_results (self ):
936
934
return [f .optimize_result for f in self .results ]
937
935
938
- def select_by_interval (self , coord_min , coord_max ):
939
- if self . axis is None :
940
- raise ValueError ("No axis to convert coordinate to index! " )
936
+ def select_by_interval (self , axis , coord_min , coord_max ):
937
+ if axis and axis . nbin != len ( self . results ) :
938
+ raise ValueError ("Axis length does not correspond to number of results " )
941
939
942
- keymin = self . axis .coord_to_idx (coord_min )
943
- keymax = self . axis .coord_to_idx (coord_max )
940
+ keymin = axis .coord_to_idx (coord_min )
941
+ keymax = axis .coord_to_idx (coord_max )
944
942
945
943
return self [keymin :keymax ]
946
944
947
945
def write_models (self , path , ** kwargs ):
948
946
self .models ().write (path , ** kwargs )
949
947
950
- def create_model_table (self ):
948
+ def create_model_table (self , axis = None ):
949
+ if axis and axis .nbin != len (self .results ):
950
+ raise ValueError ("Axis length does not correspond to number of results" )
951
951
t = QTable ()
952
952
953
953
t ["convergence" ] = [result .success for result in self .results ]
@@ -961,9 +961,9 @@ def create_model_table(self):
961
961
for result in self .results
962
962
]
963
963
964
- if isinstance (self . axis , TimeMapAxis ):
965
- t .add_columns (self . axis .to_gti ().table .columns , indexes = [0 , 0 ])
966
- elif isinstance (self . axis , MapAxis ):
967
- t .add_columns (self . axis .to_table ().columns , indexes = [0 , 0 ])
964
+ if isinstance (axis , TimeMapAxis ):
965
+ t .add_columns (axis .to_gti ().table .columns , indexes = [0 , 0 ])
966
+ elif isinstance (axis , MapAxis ):
967
+ t .add_columns (axis .to_table ().columns , indexes = [0 , 0 ])
968
968
969
969
return t
0 commit comments