Subsamplable
- class PlasmaCalcs.dimensions.subsampling.Subsamplable
Bases:
objectobject that can be subsampled.
Subclass should implement:
- rawvars_loadable(src): list of all directly loadable vars within snap src.- rawvar_load(var, src): load a single raw var from snap src.OR override rawvar_load_and_subsample(var, src, info) to avoid using rawvar_load.- rawvar_save(var, data, dst): save a single raw var to snap dst.Before overwriting any existing data, subclass’s implementation should crash by default.- _snap_src_to_filepath(self, src): return filepath for snap src.- self.snapdir: should tell abspath of folder with all snapshots.OR, override subsampling_path_manager() to avoid using snapdir.- self.snaps.file_path(self): should tell array of snapshot filepaths.OR, override subsampling_snap_srcs to avoid using self.snaps.file_path(self).Subclass may use str for snap src but might use something else.The only requirement for snap src imposed here is that it must be hashable.Methods
load subsampling info from {self.dirname}/subsampling_info.
rawvar_load(src)load a single raw var from snap src.
rawvar_load_and_subsample(var, src, info)returns var loaded and subsampled from src.
rawvar_save(data, dst)save a single raw var to snap dst.
returns list of all directly loadable vars within snap src.
rawvars_loadable_across([srcs])returns dict of {src: [vars loadable from src]} for all snap srcs
snap_src_to_filepath(src)return filepath for snap src.
subsample(subsampling_info, *[, ...])apply subsampling to all data indicated by subsampling_result_info.
subsampler(subsampling_info)return self.subsampler_cls instance with self and subsampling_info.
list of all snap srcs in self (before applying any subsampling)
default value for self.subsampling_info: load from {self.dirname}/subsampling_info.
Attributes
SubsamplingInfo telling how existing data was subsampled from prior data.
- _default_subsampling_info()
default value for self.subsampling_info: load from {self.dirname}/subsampling_info.
- load_subsampling_info()
load subsampling info from {self.dirname}/subsampling_info.
- rawvar_load(src)
load a single raw var from snap src.
Subclass can implement this or override rawvar_load_and_subsample instead.
- rawvar_load_and_subsample(var, src, info)
returns var loaded and subsampled from src.
Subclass should either:- implement rawvar_load(var, src)- override rawvar_load_and_subsample instead,e.g. slice h5py object instead of loading full array to slice.
- rawvar_save(data, dst)
save a single raw var to snap dst.
Subclass must implement this.Before overwriting any existing data, subclass’s implementation should crash by default.
- rawvars_loadable()
returns list of all directly loadable vars within snap src.
Subclass must implement this.
- rawvars_loadable_across(srcs=None)
returns dict of {src: [vars loadable from src]} for all snap srcs
The implementation here just calls rawvars_loadable for each src.if srcs is None, use self.subsampling_snap_srcs().
- snap_src_to_filepath(src)
return filepath for snap src. See also: self.subsampling_snap_srcs().
Subclass must implement this.
- subsample(subsampling_info, *, subsampled_data_exist_ok=False)
apply subsampling to all data indicated by subsampling_result_info.
returns SubsamplingResultPathManager with relevant paths.(results will be saved to paths determined by SubsamplingResultPathManager;probably ‘subsampling_result’ at the same directory-level as target.snapdir.)Never overwrites any of the pre-subsampling data.By default, refuses to overwrite any existing data at all.- subsampling_info: SubsamplingInfo, str, or json-like dict
- str –> path to load subsampling info from.can be filename or directory. see SubsamplingInfo.load for details.dict –> subsampling info in json-like format, see SubsamplingInfo for details.
- subsampled_data_exist_ok: bool
- whether it is okay for subsampled data file(s) to already exist before saving any data. Default False.(Doesn’t interact with any subsampling_info files.)
- subsampler(subsampling_info)
return self.subsampler_cls instance with self and subsampling_info.
See help(self.subsample) for details on subsampling_info.
- subsampler_cls
alias of
Subsampler
- property subsampling_info
SubsamplingInfo telling how existing data was subsampled from prior data.
By default, this info will be loaded from {self.dirname}/subsampling_info.
- subsampling_info_cls
alias of
SubsamplingInfo
- subsampling_info_path_manager_cls
alias of
SubsamplingInfoPathManager
- subsampling_snap_srcs()
list of all snap srcs in self (before applying any subsampling)