nema_quant.io

Input/output utilities for loading images and saving analysis results.

nema_quant.io.load_nii_image(filepath: Path, return_affine: bool = False, inverse_axes: bool = False) Tuple[numpy.typing.NDArray.typing.Any, numpy.typing.NDArray.typing.Any | None][source]

Load a NIfTI image into a NumPy array.

Reads a .nii or .nii.gz file using SimpleITK and returns the image data as a 3D NumPy array. Optionally returns a 4x4 affine matrix derived from spacing, origin, and direction.

Parameters:
  • filepath (pathlib.Path) – Path to the NIfTI image file.

  • return_affine (bool, optional) – If True, also return the 4x4 affine matrix. Default is False.

Returns:

  • numpy.ndarray – 3D image array (z, y, x) in float32.

  • numpy.ndarray or None – 4x4 affine matrix if return_affine is True, otherwise None.

Raises:
  • FileNotFoundError – If filepath does not exist.

  • ValueError – If the file cannot be loaded as a NIfTI image.

nema_quant.io.create_cylindrical_mask(shape_zyx: Tuple[int, int, int], center_zyx: Tuple[float, float, float], radius_mm: float, height_mm: float, spacing_xyz: numpy.typing.NDArray.numpy.float64) numpy.typing.NDArray.numpy.bool_[source]

Create a boolean mask for a cylinder aligned with the z-axis.