numpyradiomics.dro.noisy_ellipsoid#

numpyradiomics.dro.noisy_ellipsoid(radii_mm=(30.0, 10.0, 2.5), spacing=(1.0, 1.0, 1.0), padding_mm=5.0, intensity_range=(0, 100))[source]#

Creates a binary mask of an ellipsoid filled with random noise. Useful for testing texture features.

Parameters:
  • radii_mm (tuple) – Physical radii (Rx, Ry, Rz) in mm.

  • spacing (tuple) – Voxel spacing (Sz, Sy, Sx) in mm.

  • padding_mm (float) – Padding around the object in mm.

  • intensity_range (tuple) – (min, max) intensity values for noise.

Returns:

Noisy image (float32). mask (np.ndarray): Binary mask (uint8).

Return type:

image (np.ndarray)

Example

>>> from numpyradiomics.dro import noisy_ellipsoid
>>> import numpy as np
>>> # Create a noisy ellipsoid for texture analysis
>>> img, mask = noisy_ellipsoid(radii_mm=(20, 10, 5))
>>> print(f"Mean Intensity in ROI: {np.mean(img[mask==1]):.2f}")
Mean Intensity in ROI: 49.87