Source code for autoarray.inversion.pixelization.settings

import copy


[docs]class SettingsPixelization: def __init__( self, use_border: bool = True, is_stochastic: bool = False, kmeans_seed: int = 0 ): """ Settings which control how a pixelization is performed. Parameters ---------- use_border If `True`, all coordinates of both `source` mesh grids have pixels outside their border relocated to their edge (see `relocated_grid_from()`). is_stochastic Cetrain pixelizations can create different discretizations using the same parameters / inputs, by changing their random seed (e.g. changing the KMeans seed of the `VoronoiBrightnessImage` pixelization). If `True`, this random seed changes for every function call, creating completely stochastic pixelizations every time. kmeans_seed A fixed value for the KMeans seed that dictates the pixelization that is derived for a `VoronoiBrightnessImage` pixelization. """ self.use_border = use_border self.is_stochastic = is_stochastic self.kmeans_seed = kmeans_seed
[docs] def settings_with_is_stochastic_true(self): """ Returns a `SettingsPixelization` object with the same attributes but where `is_stochastic` is `True`. """ settings = copy.copy(self) settings.is_stochastic = True return settings