nabu.stitching.config module¶
- class nabu.stitching.config.NormalizationBySample[source]¶
Bases:
object
- property margin: int¶
- property side: SampleSide¶
- property width: int¶
- class nabu.stitching.config.SlurmConfig(partition: str = '', mem: str = '128', n_jobs: int = 1, other_options: str = '', preprocessing_command: str = '', modules_to_load: tuple = (), clean_script: bool = '', n_tasks: int = 1, n_cpu_per_task: int = 4)[source]¶
Bases:
object
configuration for slurm jobs
- partition: str = ''¶
- mem: str = '128'¶
- n_jobs: int = 1¶
- other_options: str = ''¶
- preprocessing_command: str = ''¶
- modules_to_load: tuple = ()¶
- clean_script: bool = ''¶
- n_tasks: int = 1¶
- n_cpu_per_task: int = 4¶
- class nabu.stitching.config.StitchingConfiguration(axis_0_pos_px: tuple | str | None, axis_1_pos_px: tuple | str | None, axis_2_pos_px: tuple | str | None, axis_0_pos_mm: tuple | str | None = None, axis_1_pos_mm: tuple | str | None = None, axis_2_pos_mm: tuple | str | None = None, axis_0_params: dict = None, axis_1_params: dict = None, axis_2_params: dict = None, slurm_config: SlurmConfig = None, flip_lr: tuple | bool = False, flip_ud: tuple | bool = False, overwrite_results: bool = False, stitching_strategy: OverlapStitchingStrategy = OverlapStitchingStrategy.COSINUS_WEIGHTS, stitching_kernels_extra_params: dict = None, slice_for_cross_correlation: str | int = 'middle', rescale_frames: bool = False, rescale_params: dict = None, normalization_by_sample: NormalizationBySample = None, duplicate_data: bool = True)[source]¶
Bases:
object
bass class to define stitching configuration
- axis_0_pos_px: tuple | str | None¶
px
- Type:
position along axis 0 in absolute. unit
- axis_1_pos_px: tuple | str | None¶
px
- Type:
position along axis 1 in absolute. unit
- axis_2_pos_px: tuple | str | None¶
px
- Type:
position along axis 2 in absolute. unit
- axis_0_pos_mm: tuple | str | None = None¶
mm
- Type:
position along axis 0 in absolute. unit
- axis_1_pos_mm: tuple | str | None = None¶
mm
- Type:
position along axis 0 in absolute. unit
- axis_2_pos_mm: tuple | str | None = None¶
mm
- Type:
position along axis 0 in absolute. unit
- axis_0_params: dict = None¶
- axis_1_params: dict = None¶
- axis_2_params: dict = None¶
- slurm_config: SlurmConfig = None¶
- flip_lr: tuple | bool = False¶
flip frame left-right. For scan this will be append to the NXtransformations of the detector
- flip_ud: tuple | bool = False¶
flip frame up-down. For scan this will be append to the NXtransformations of the detector
- overwrite_results: bool = False¶
- stitching_strategy: OverlapStitchingStrategy = 'cosinus weights'¶
- stitching_kernels_extra_params: dict = None¶
- slice_for_cross_correlation: str | int = 'middle'¶
- rescale_frames: bool = False¶
- rescale_params: dict = None¶
- normalization_by_sample: NormalizationBySample = None¶
- duplicate_data: bool = True¶
when possible (for HDF5) avoid duplicating data as-much-much-as-possible. Overlaping region between two frames will be duplicated. Remaining will be ‘raw_data’ for volume. For projection flat field will be applied
- property stitching_type¶
- class nabu.stitching.config.SingleAxisConfigMetaClass(name, bases, attrs, axis=None)[source]¶
Bases:
type
Metaclass for single axis stitcher in order to aggregate dumper class and axis
warning: this class is used by tomwer as well
- class nabu.stitching.config.SingleAxisStitchingConfiguration(axis_0_pos_px: tuple | str | None, axis_1_pos_px: tuple | str | None, axis_2_pos_px: tuple | str | None, axis_0_pos_mm: tuple | str | None = None, axis_1_pos_mm: tuple | str | None = None, axis_2_pos_mm: tuple | str | None = None, axis_0_params: dict = None, axis_1_params: dict = None, axis_2_params: dict = None, slurm_config: SlurmConfig = None, flip_lr: tuple | bool = False, flip_ud: tuple | bool = False, overwrite_results: bool = False, stitching_strategy: OverlapStitchingStrategy = OverlapStitchingStrategy.COSINUS_WEIGHTS, stitching_kernels_extra_params: dict = None, slice_for_cross_correlation: str | int = 'middle', rescale_frames: bool = False, rescale_params: dict = None, normalization_by_sample: NormalizationBySample = None, duplicate_data: bool = True, slices: slice | tuple | None = None, alignment_axis_2: AlignmentAxis2 = AlignmentAxis2.CENTER, pad_mode: str = 'constant')[source]¶
Bases:
StitchingConfiguration
base class to define z-stitching parameters
- slices: slice | tuple | None = None¶
- alignment_axis_2: AlignmentAxis2 = 'center'¶
- pad_mode: str = 'constant'¶
- property axis: int¶
- class nabu.stitching.config.PreProcessedSingleAxisStitchingConfiguration(axis_0_pos_px: tuple | str | None, axis_1_pos_px: tuple | str | None, axis_2_pos_px: tuple | str | None, axis_0_pos_mm: tuple | str | None = None, axis_1_pos_mm: tuple | str | None = None, axis_2_pos_mm: tuple | str | None = None, axis_0_params: dict = None, axis_1_params: dict = None, axis_2_params: dict = None, slurm_config: SlurmConfig = None, flip_lr: tuple | bool = False, flip_ud: tuple | bool = False, overwrite_results: bool = False, stitching_strategy: OverlapStitchingStrategy = OverlapStitchingStrategy.COSINUS_WEIGHTS, stitching_kernels_extra_params: dict = None, slice_for_cross_correlation: str | int = 'middle', rescale_frames: bool = False, rescale_params: dict = None, normalization_by_sample: NormalizationBySample = None, duplicate_data: bool = True, slices: slice | tuple | None = None, alignment_axis_2: AlignmentAxis2 = AlignmentAxis2.CENTER, pad_mode: str = 'constant', input_scans: tuple = (), output_file_path: str = '', output_data_path: str = '', output_nexus_version: float | None = None, pixel_size: float | None = None)[source]¶
Bases:
SingleAxisStitchingConfiguration
base class to define z-stitching parameters
- input_scans: tuple = ()¶
- output_file_path: str = ''¶
- output_data_path: str = ''¶
- output_nexus_version: float | None = None¶
- pixel_size: float | None = None¶
- property stitching_type: StitchingType¶
- settle_slices() tuple [source]¶
interpret the slices to be stitched if needed
Nore: if slices is an instance of slice will redefine start and stop to avoid having negative indexes
- Returns:
(slices:[slice,Iterable], n_proj:int)
- Return type:
tuple
- class nabu.stitching.config.PostProcessedSingleAxisStitchingConfiguration(axis_0_pos_px: tuple | str | None, axis_1_pos_px: tuple | str | None, axis_2_pos_px: tuple | str | None, axis_0_pos_mm: tuple | str | None = None, axis_1_pos_mm: tuple | str | None = None, axis_2_pos_mm: tuple | str | None = None, axis_0_params: dict = None, axis_1_params: dict = None, axis_2_params: dict = None, slurm_config: SlurmConfig = None, flip_lr: tuple | bool = False, flip_ud: tuple | bool = False, overwrite_results: bool = False, stitching_strategy: OverlapStitchingStrategy = OverlapStitchingStrategy.COSINUS_WEIGHTS, stitching_kernels_extra_params: dict = None, slice_for_cross_correlation: str | int = 'middle', rescale_frames: bool = False, rescale_params: dict = None, normalization_by_sample: NormalizationBySample = None, duplicate_data: bool = True, slices: slice | tuple | None = None, alignment_axis_2: AlignmentAxis2 = AlignmentAxis2.CENTER, pad_mode: str = 'constant', input_volumes: tuple = (), output_volume: VolumeIdentifier | None = None, voxel_size: float | None = None, alignment_axis_1: AlignmentAxis1 = AlignmentAxis1.CENTER)[source]¶
Bases:
SingleAxisStitchingConfiguration
base class to define z-stitching parameters
- input_volumes: tuple = ()¶
- output_volume: VolumeIdentifier | None = None¶
- voxel_size: float | None = None¶
- alignment_axis_1: AlignmentAxis1 = 'center'¶
- property stitching_type: StitchingType¶
- settle_slices() tuple [source]¶
interpret the slices to be stitched if needed
Nore: if slices is an instance of slice will redefine start and stop to avoid having negative indexes
- Returns:
(slices:[slice,Iterable], n_proj:int)
- Return type:
tuple
- nabu.stitching.config.get_default_stitching_config(stitching_type: StitchingType | str | None) tuple [source]¶
Return a default configuration for doing stitching.
- Parameters:
stitching_type – if None then return a configuration were use can provide inputs for any of the stitching. Else return config dict dedicated to a particular stitching
- Returns:
(config, section comments)
- class nabu.stitching.config.PreProcessedYStitchingConfiguration(axis_0_pos_px: tuple | str | None, axis_1_pos_px: tuple | str | None, axis_2_pos_px: tuple | str | None, axis_0_pos_mm: tuple | str | None = None, axis_1_pos_mm: tuple | str | None = None, axis_2_pos_mm: tuple | str | None = None, axis_0_params: dict = None, axis_1_params: dict = None, axis_2_params: dict = None, slurm_config: SlurmConfig = None, flip_lr: tuple | bool = False, flip_ud: tuple | bool = False, overwrite_results: bool = False, stitching_strategy: OverlapStitchingStrategy = OverlapStitchingStrategy.COSINUS_WEIGHTS, stitching_kernels_extra_params: dict = None, slice_for_cross_correlation: str | int = 'middle', rescale_frames: bool = False, rescale_params: dict = None, normalization_by_sample: NormalizationBySample = None, duplicate_data: bool = True, slices: slice | tuple | None = None, alignment_axis_2: AlignmentAxis2 = AlignmentAxis2.CENTER, pad_mode: str = 'constant', input_scans: tuple = (), output_file_path: str = '', output_data_path: str = '', output_nexus_version: float | None = None, pixel_size: float | None = None)[source]¶
Bases:
PreProcessedSingleAxisStitchingConfiguration
- axis_0_pos_px: tuple | str | None¶
px
- Type:
position along axis 0 in absolute. unit
- axis_1_pos_px: tuple | str | None¶
px
- Type:
position along axis 1 in absolute. unit
- axis_2_pos_px: tuple | str | None¶
px
- Type:
position along axis 2 in absolute. unit
- class nabu.stitching.config.PreProcessedZStitchingConfiguration(axis_0_pos_px: tuple | str | None, axis_1_pos_px: tuple | str | None, axis_2_pos_px: tuple | str | None, axis_0_pos_mm: tuple | str | None = None, axis_1_pos_mm: tuple | str | None = None, axis_2_pos_mm: tuple | str | None = None, axis_0_params: dict = None, axis_1_params: dict = None, axis_2_params: dict = None, slurm_config: SlurmConfig = None, flip_lr: tuple | bool = False, flip_ud: tuple | bool = False, overwrite_results: bool = False, stitching_strategy: OverlapStitchingStrategy = OverlapStitchingStrategy.COSINUS_WEIGHTS, stitching_kernels_extra_params: dict = None, slice_for_cross_correlation: str | int = 'middle', rescale_frames: bool = False, rescale_params: dict = None, normalization_by_sample: NormalizationBySample = None, duplicate_data: bool = True, slices: slice | tuple | None = None, alignment_axis_2: AlignmentAxis2 = AlignmentAxis2.CENTER, pad_mode: str = 'constant', input_scans: tuple = (), output_file_path: str = '', output_data_path: str = '', output_nexus_version: float | None = None, pixel_size: float | None = None)[source]¶
Bases:
PreProcessedSingleAxisStitchingConfiguration
- axis_0_pos_px: tuple | str | None¶
px
- Type:
position along axis 0 in absolute. unit
- axis_1_pos_px: tuple | str | None¶
px
- Type:
position along axis 1 in absolute. unit
- axis_2_pos_px: tuple | str | None¶
px
- Type:
position along axis 2 in absolute. unit
- class nabu.stitching.config.PostProcessedZStitchingConfiguration(axis_0_pos_px: tuple | str | None, axis_1_pos_px: tuple | str | None, axis_2_pos_px: tuple | str | None, axis_0_pos_mm: tuple | str | None = None, axis_1_pos_mm: tuple | str | None = None, axis_2_pos_mm: tuple | str | None = None, axis_0_params: dict = None, axis_1_params: dict = None, axis_2_params: dict = None, slurm_config: SlurmConfig = None, flip_lr: tuple | bool = False, flip_ud: tuple | bool = False, overwrite_results: bool = False, stitching_strategy: OverlapStitchingStrategy = OverlapStitchingStrategy.COSINUS_WEIGHTS, stitching_kernels_extra_params: dict = None, slice_for_cross_correlation: str | int = 'middle', rescale_frames: bool = False, rescale_params: dict = None, normalization_by_sample: NormalizationBySample = None, duplicate_data: bool = True, slices: slice | tuple | None = None, alignment_axis_2: AlignmentAxis2 = AlignmentAxis2.CENTER, pad_mode: str = 'constant', input_volumes: tuple = (), output_volume: VolumeIdentifier | None = None, voxel_size: float | None = None, alignment_axis_1: AlignmentAxis1 = AlignmentAxis1.CENTER)[source]¶
Bases:
PostProcessedSingleAxisStitchingConfiguration
- axis_0_pos_px: tuple | str | None¶
px
- Type:
position along axis 0 in absolute. unit
- axis_1_pos_px: tuple | str | None¶
px
- Type:
position along axis 1 in absolute. unit
- axis_2_pos_px: tuple | str | None¶
px
- Type:
position along axis 2 in absolute. unit