intensity_normalization.normalize package

Submodules

intensity_normalization.normalize.base module

Base class for normalization methods Author: Jacob Reinhold <jcreinhold@gmail.com> Created on: 01 Jun 2021

class intensity_normalization.normalize.base.DirectoryNormalizeCLI[source]

Bases: SampleNormalizeCLIMixin, DirectoryCLI

before_fit(images: collections.abc.Sequence[intnormt.ImageLike], /, masks: collections.abc.Sequence[intnormt.ImageLike] | None = None, *, modality: intnormt.Modality = Modality.T1, **kwargs: Any) tuple[ImageSeq, MaskSeqOrNone][source]
fit(images: Sequence[ImageLike], /, masks: Sequence[ImageLike] | None = None, *, modality: Modality = Modality.T1, **kwargs: Any) None[source]
fit_from_directories(image_dir: intnormt.PathLike, /, mask_dir: intnormt.PathLike | None = None, *, modality: intnormt.Modality = Modality.T1, ext: str = 'nii*', return_normalized_and_masks: bool = False, **kwargs: Any) tuple[ImageSeq, MaskSeqOrNone] | None[source]
class intensity_normalization.normalize.base.LocationScaleCLIMixin(*, norm_value: float = 1.0, **kwargs: Any)[source]

Bases: LocationScaleMixin, NormalizeCLIMixin

classmethod from_argparse_args(args: Namespace, /) T[source]
classmethod get_parent_parser(desc: str, valid_modalities: frozenset[str] = frozenset({'flair', 'md', 'other', 'pd', 't1', 't2'}), **kwargs: Any) ArgumentParser[source]
class intensity_normalization.normalize.base.SingleImageNormalizeCLI[source]

Bases: NormalizeCLIMixin, SingleImageCLI

call_from_argparse_args(args: Namespace, /, **kwargs: Any) None[source]
plot_histogram_from_args(args: argparse.Namespace, /, normalized: intnormt.ImageLike, mask: intnormt.ImageLike | None = None) None[source]

intensity_normalization.normalize.fcm module

Fuzzy C-Means-based tissue mean normalization Author: Jacob Reinhold <jcreinhold@gmail.com> Created on: 01 Jun 2021

class intensity_normalization.normalize.fcm.FCMNormalize(*, norm_value: float = 1.0, tissue_type: TissueType = TissueType.WM, **kwargs: Any)[source]

Bases: LocationScaleCLIMixin, SingleImageNormalizeCLI

static add_method_specific_arguments(parent_parser: ArgumentParser) ArgumentParser[source]
calculate_location(image: intnormt.ImageLike, /, mask: intnormt.ImageLike | None = None, *, modality: intnormt.Modality = Modality.T1) float[source]
calculate_scale(image: intnormt.ImageLike, /, mask: intnormt.ImageLike | None = None, *, modality: intnormt.Modality = Modality.T1) float[source]
call_from_argparse_args(args: Namespace, /, **kwargs: Any) None[source]
static description() str[source]
classmethod from_argparse_args(args: Namespace, /) FCMNormalize[source]
static fullname() str[source]
classmethod get_parent_parser(desc: str, valid_modalities: frozenset[str] = frozenset({'flair', 'md', 'other', 'pd', 't1', 't2'}), **kwargs: Any) ArgumentParser[source]
property is_fit: bool
static name() str[source]
save_additional_info(args: Namespace, **kwargs: Any) None[source]

intensity_normalization.normalize.kde module

Kernel density estimation-based tissue mode normalization Author: Jacob Reinhold <jcreinhold@gmail.com> Created on: 01 Jun 2021

class intensity_normalization.normalize.kde.KDENormalize(norm_value: float = 1.0, **kwargs: Any)[source]

Bases: LocationScaleCLIMixin, SingleImageNormalizeCLI

calculate_location(image: intnormt.ImageLike, /, mask: intnormt.ImageLike | None = None, *, modality: intnormt.Modality = Modality.T1) float[source]
calculate_scale(image: intnormt.ImageLike, /, mask: intnormt.ImageLike | None = None, *, modality: intnormt.Modality = Modality.T1) float[source]
static description() str[source]
static fullname() str[source]
static name() str[source]

intensity_normalization.normalize.lsq module

Least-squares fit tissue means of a set of images Author: Jacob Reinhold <jcreinhold@gmail.com> Created on: 01 Jun 2021

class intensity_normalization.normalize.lsq.LeastSquaresNormalize(*, norm_value: float = 1.0, **kwargs: Any)[source]

Bases: LocationScaleCLIMixin, DirectoryNormalizeCLI

static add_method_specific_arguments(parent_parser: ArgumentParser) ArgumentParser[source]
calculate_location(image: intnormt.ImageLike, /, mask: intnormt.ImageLike | None = None, *, modality: intnormt.Modality = Modality.T1) float[source]
calculate_scale(image: intnormt.ImageLike, /, mask: intnormt.ImageLike | None = None, *, modality: intnormt.Modality = Modality.T1) float[source]
call_from_argparse_args(args: Namespace, /, **kwargs: Any) None[source]
static description() str[source]
classmethod from_argparse_args(args: Namespace, /) LeastSquaresNormalize[source]
static fullname() str[source]
classmethod get_parent_parser(desc: str, valid_modalities: frozenset[str] = frozenset({'flair', 'md', 'other', 'pd', 't1', 't2'}), **kwargs: Any) ArgumentParser[source]
load_standard_tissue_means(filename: str | PathLike, /) None[source]
static name() str[source]
save_additional_info(args: Namespace, **kwargs: Any) None[source]
save_standard_tissue_means(filename: str | PathLike, /) None[source]
scaling_factor(tissue_means: ndarray[Any, dtype[ScalarType]]) float[source]
static tissue_means(image: ImageLike, /, tissue_membership: ImageLike) ndarray[Any, dtype[ScalarType]][source]

intensity_normalization.normalize.nyul module

Nyul & Udupa piecewise linear histogram matching normalization Author: Jacob Reinhold <jcreinhold@gmail.com> Created on: 02 Jun 2021

class intensity_normalization.normalize.nyul.NyulNormalize(*, output_min_value: float = 1.0, output_max_value: float = 100.0, min_percentile: float = 1.0, max_percentile: float = 99.0, percentile_after_min: float = 10.0, percentile_before_max: float = 90.0, percentile_step: float = 10.0)[source]

Bases: DirectoryNormalizeCLI

static add_method_specific_arguments(parent_parser: ArgumentParser) ArgumentParser[source]
call_from_argparse_args(args: Namespace, /, **kwargs: Any) None[source]
static description() str[source]
classmethod from_argparse_args(args: Namespace, /) NyulNormalize[source]
static fullname() str[source]
get_landmarks(image: ImageLike, /) ndarray[Any, dtype[ScalarType]][source]
load_standard_histogram(filename: str | PathLike) None[source]
static name() str[source]
normalize_image(image: intnormt.ImageLike, /, mask: intnormt.ImageLike | None = None, *, modality: intnormt.Modality = Modality.T1) intnormt.ImageLike[source]
property percentiles: ndarray[Any, dtype[ScalarType]]
save_additional_info(args: Namespace, **kwargs: Any) None[source]
save_standard_histogram(filename: str | PathLike) None[source]

intensity_normalization.normalize.ravel module

RAVEL normalization (WhiteStripe then CSF correction) Author: Jacob Reinhold <jcreinhold@gmail.com> Created on: Jun 02, 2021

class intensity_normalization.normalize.ravel.RavelNormalize(*, membership_threshold: float = 0.99, register: bool = True, num_unwanted_factors: int = 1, sparse_svd: bool = False, whitestripe_kwargs: dict[str, Any] | None = None, quantile_to_label_csf: float = 1.0, masks_are_csf: bool = False)[source]

Bases: DirectoryNormalizeCLI

static add_method_specific_arguments(parent_parser: ArgumentParser) ArgumentParser[source]
create_image_matrix_and_control_voxels(images: collections.abc.Sequence[intnormt.ImageLike], /, masks: collections.abc.Sequence[intnormt.ImageLike] | None = None, *, modality: intnormt.Modality = Modality.T1) tuple[npt.NDArray, npt.NDArray][source]

creates a matrix of images; rows correspond to voxels, columns are images

Parameters:
  • images – list of MR images of interest

  • masks – list of corresponding brain masks

  • modality – modality of the set of images (e.g., t1)

Returns:

rows are voxels, columns are images control_voxels: rows are csf intersection voxels, columns are images

Return type:

image_matrix

static description() str[source]
estimate_unwanted_factors(control_voxels: ndarray[Any, dtype[ScalarType]]) ndarray[Any, dtype[ScalarType]][source]
classmethod from_argparse_args(args: Namespace, /) RavelNormalize[source]
static fullname() str[source]
static name() str[source]
normalize_image(image: intnormt.ImageLike, /, mask: intnormt.ImageLike | None = None, *, modality: intnormt.Modality = Modality.T1) intnormt.ImageLike[source]
process_directories(image_dir: intnormt.PathLike, /, mask_dir: intnormt.PathLike | None = None, *, modality: intnormt.Modality = Modality.T1, ext: str = 'nii*', return_normalized_and_masks: bool = False, **kwargs: Any) tuple[list[mioi.Image], list[mioi.Image] | None] | None[source]
save_additional_info(args: Namespace, **kwargs: Any) None[source]
set_template(template: intnormt.ImageLike | ants.ANTsImage) None[source]
set_template_mask(template_mask: intnormt.ImageLike | ants.ANTsImage | None) None[source]
teardown() None[source]
property template: ants.ANTsImage | None
property template_mask: ants.ANTsImage | None
use_mni_as_template() None[source]

intensity_normalization.normalize.whitestripe module

WhiteStripe (normal-appearing white matter mean & standard deviation) normalization Author: Jacob Reinhold <jcreinhold@gmail.com> Created on: 01 Jun 2021

class intensity_normalization.normalize.whitestripe.WhiteStripeNormalize(*, norm_value: float = 1.0, width: float = 0.05, width_l: float | None = None, width_u: float | None = None, **kwargs: Any)[source]

Bases: LocationScaleCLIMixin, SingleImageNormalizeCLI

static add_method_specific_arguments(parent_parser: ArgumentParser) ArgumentParser[source]
calculate_location(image: intnormt.ImageLike, /, mask: intnormt.ImageLike | None = None, *, modality: intnormt.Modality = Modality.T1) float[source]
calculate_scale(image: intnormt.ImageLike, /, mask: intnormt.ImageLike | None = None, *, modality: intnormt.Modality = Modality.T1) float[source]
static description() str[source]
classmethod from_argparse_args(args: Namespace, /) WhiteStripeNormalize[source]
static fullname() str[source]
static name() str[source]
plot_histogram_from_args(args: argparse.Namespace, /, normalized: intnormt.ImageLike, mask: intnormt.ImageLike | None = None) None[source]
setup(image: intnormt.ImageLike, /, mask: intnormt.ImageLike | None = None, *, modality: intnormt.Modality = Modality.T1) None[source]
teardown() None[source]

intensity_normalization.normalize.zscore module

Z-score normalize image (voxel-wise subtract mean, divide by standard deviation) Author: Jacob Reinhold <jcreinhold@gmail.com> Created on: 01 Jun 2021

class intensity_normalization.normalize.zscore.ZScoreNormalize(*, norm_value: float = 1.0, **kwargs: Any)[source]

Bases: LocationScaleCLIMixin, SingleImageNormalizeCLI

calculate_location(image: intnormt.ImageLike, /, mask: intnormt.ImageLike | None = None, *, modality: intnormt.Modality = Modality.T1) float[source]
calculate_scale(image: intnormt.ImageLike, /, mask: intnormt.ImageLike | None = None, *, modality: intnormt.Modality = Modality.T1) float[source]
static description() str[source]
static fullname() str[source]
static name() str[source]
plot_histogram_from_args(args: argparse.Namespace, /, normalized: intnormt.ImageLike, mask: intnormt.ImageLike | None = None) None[source]
setup(image: intnormt.ImageLike, /, mask: intnormt.ImageLike | None = None, *, modality: intnormt.Modality = Modality.T1) None[source]
teardown() None[source]

Module contents