def fit_imaging_generator_from_aggregator( aggregator: af.Aggregator, settings_imaging: al.SettingsImaging = None, settings_pixelization: al.SettingsPixelization = None, settings_inversion: al.SettingsInversion = None, ): """ Returns a generator of `FitImaging` objects from an input aggregator, which generates a list of the `FitImaging` objects for every set of results loaded in the aggregator. This is performed by mapping the `fit_imaging_from_agg_obj` with the aggregator, which sets up each fit using only generators ensuring that manipulating the fits of large sets of results is done in a memory efficient way. Parameters ---------- aggregator : af.Aggregator A PyAutoFit aggregator object containing the results of PyAutoLens model-fits.""" func = partial( fit_imaging_from_agg_obj, settings_imaging=settings_imaging, settings_pixelization=settings_pixelization, settings_inversion=settings_inversion, ) return aggregator.map(func=func)
def fit_interferometer_generator_from_aggregator( aggregator: af.Aggregator, settings_interferometer: al.SettingsInterferometer = None, settings_pixelization: al.SettingsPixelization = None, settings_inversion: al.SettingsInversion = None, ): """ Returns a `FitInterferometer` object from an aggregator's `SearchOutput` class, which we call an 'agg_obj' to describe that it acts as the aggregator object for one result in the `Aggregator`. This uses the aggregator's generator outputs such that the function can use the `Aggregator`'s map function to to create a `FitInterferometer` generator. The `FitInterferometer` is created. Parameters ---------- agg_obj : af.SearchOutput A PyAutoFit aggregator's SearchOutput object containing the generators of the results of PyAutoLens model-fits. """ func = partial( fit_interferometer_from_agg_obj, settings_interferometer=settings_interferometer, settings_pixelization=settings_pixelization, settings_inversion=settings_inversion, ) return aggregator.map(func=func)
def fit_interferometer_generator_from_aggregator( aggregator: af.Aggregator, settings_masked_interferometer: al.SettingsMaskedInterferometer = None, settings_pixelization: al.SettingsPixelization = None, settings_inversion: al.SettingsInversion = None, ): """ Returns a *FitInterferometer* object from an aggregator's *PhaseOutput* class, which we call an 'agg_obj' to describe that it acts as the aggregator object for one result in the *Aggregator*. This uses the aggregator's generator outputs such that the function can use the *Aggregator*'s map function to to create a *FitInterferometer* generator. The *FitInterferometer* is created following the same method as the PyAutoLens `Phase` classes. Parameters ---------- agg_obj : af.PhaseOutput A PyAutoFit aggregator's PhaseOutput object containing the generators of the results of PyAutoLens model-fits. """ func = partial( fit_interferometer_from_agg_obj, settings_masked_interferometer=settings_masked_interferometer, settings_pixelization=settings_pixelization, settings_inversion=settings_inversion, ) return aggregator.map(func=func)
def tracer_generator_from_aggregator(aggregator: af.Aggregator): """ Returns a generator of `Tracer` objects from an input aggregator, which generates a list of the `Tracer` objects for every set of results loaded in the aggregator. This is performed by mapping the `tracer_from_agg_obj` with the aggregator, which sets up each tracer using only generators ensuring that manipulating the planes of large sets of results is done in a memory efficient way. Parameters ---------- aggregator : af.Aggregator A PyAutoFit aggregator object containing the results of PyAutoLens model-fits.""" return aggregator.map(func=tracer_from_agg_obj)
def grid_search_subhalo_masses_as_array(aggregator: af.Aggregator) -> al.Array: grid_search_result_gen = aggregator.values("grid_search_result") grid_search_results = list(filter(None, list(grid_search_result_gen))) if len(grid_search_results) != 1: raise exc.AggregatorException( "There is more than one grid search result in the aggregator - please filter the" "aggregator.") return grid_search_subhalo_masses_as_array_from_grid_search_result( grid_search_result=grid_search_results[0])
def interferometer_generator_from_aggregator( aggregator: af.Aggregator, settings_interferometer: al.SettingsInterferometer = None): """ Returns a generator of `Interferometer` objects from an input aggregator, which generates a list of the `Interferometer` objects for every set of results loaded in the aggregator. This is performed by mapping the `interferometer_from_agg_obj` with the aggregator, which sets up each interferometer object using only generators ensuring that manipulating the interferometer objects of large sets of results is done in a memory efficient way. Parameters ---------- aggregator : af.Aggregator A PyAutoFit aggregator object containing the results of PyAutoLens model-fits.""" func = partial(interferometer_from_agg_obj, settings_interferometer=settings_interferometer) return aggregator.map(func=func)
def masked_imaging_generator_from_aggregator( aggregator: af.Aggregator, settings_masked_imaging: al.SettingsMaskedImaging = None): """ Returns a generator of `MaskImaging` objects from an input aggregator, which generates a list of the `MaskImaging` objects for every set of results loaded in the aggregator. This is performed by mapping the *masked_imaging_from_agg_obj* with the aggregator, which sets up each masked imaging using only generators ensuring that manipulating the masked imaging of large sets of results is done in a memory efficient way. Parameters ---------- aggregator : af.Aggregator A PyAutoFit aggregator object containing the results of PyAutoLens model-fits.""" func = partial(masked_imaging_from_agg_obj, settings_masked_imaging=settings_masked_imaging) return aggregator.map(func=func)
def grid_search_result_as_array( aggregator: af.Aggregator, use_log_evidences: bool = True, use_stochastic_log_evidences: bool = False, ) -> np.ndarray: grid_search_result_gen = aggregator.values("grid_search_result") grid_search_results = list(filter(None, list(grid_search_result_gen))) if len(grid_search_results) == 0: raise exc.AggregatorException( "There is no grid search resultin the aggregator.") elif len(grid_search_results) > 1: raise exc.AggregatorException( "There is more than one grid search result in the aggregator - please filter the" "aggregator.") return grid_search_log_evidences_as_array_from_grid_search_result( grid_search_result=grid_search_results[0], use_log_evidences=use_log_evidences, use_stochastic_log_evidences=use_stochastic_log_evidences, )