opentps.core.processing.imageProcessing package
Submodules
opentps.core.processing.imageProcessing.crop2D module
- crop2DDataAroundBox(data: Image2D, box, marginInMM=[0, 0, 0])
Crop the data around the box with a margin in mm
- Parameters:
data (Image2D) – data to be cropped.
box (Sequence[Sequence[float]]) – [[Xmin,xMax], [Ymin,Ymax]] :coordinates of the box to be cropped around.
marginInMM (Sequence[float]) – margin in mm to be added to the box.
opentps.core.processing.imageProcessing.cupyImageProcessing module
- applyTransform3D(data, tformMatrix: ndarray, fillValue: float = 0.0, outputBox: Sequence[float] | str | None = 'keepAll', rotCenter: Sequence[float] | str | None = 'dicomOrigin', translation: Sequence[float] = [0, 0, 0], interpOrder=1, mode='constant')
Apply a 3D transformation to an image or a vector field
- Parameters:
data (Image3D or VectorField3D) – the data to be transformed
tformMatrix (np.ndarray) – the transformation matrix
fillValue (float) – the value to fill the data for points coming, after rotation, from outside the image. Default is 0
outputBox (str) – the cube in space represented by the result after rotation (‘same’, ‘keepAll’). Default is ‘keepAll’
rotCenter (str or sequence[float]) – the center of rotation. Default is dicomOrigin
translation (sequence[float]) – the translation to apply to the data after rotation. Default is [0, 0, 0]
interpOrder (int) – the order of the interpolation (0, 1, 2, 3, 4) default is 1
mode (str) – the mode of the interpolation (‘constant’, ‘nearest’, ‘reflect’, ‘wrap’). Default is ‘constant’
- applyTransform3DToImage3D(image: Image3D, tformMatrix: ndarray, fillValue: float = 0.0, outputBox: Sequence[float] | str | None = 'keepAll', rotCenter: Sequence[float] | str | None = 'dicomOrigin', translation: Sequence[float] = [0, 0, 0], interpOrder=1, mode='constant')
Apply a 3D transformation to an image
- Parameters:
image (Image3D) – the image to be transformed
tformMatrix (np.ndarray) – the transformation matrix
fillValue (float) – the value to fill the data for points coming, after rotation, from outside the image. Default is 0
outputBox (str) – the cube in space represented by the result after rotation (‘same’, ‘keepAll’). Default is ‘keepAll’
rotCenter (str or sequence[float]) – the center of rotation. Default is ‘dicomOrigin’
translation (sequence[float]) – the translation to apply to the data after rotation. Default is [0, 0, 0]
interpOrder (int) – the order of the interpolation (0, 1, 2, 3, 4) default is 1
mode (str) – the mode of the interpolation (‘constant’, ‘nearest’, ‘reflect’, ‘wrap’). Default is ‘constant’
- applyTransform3DToVectorField3D(vectField: VectorField3D, tformMatrix: ndarray, fillValue: float = 0.0, outputBox: Sequence[float] | str | None = 'keepAll', rotCenter: Sequence[float] | str | None = 'dicomOrigin', translation: Sequence[float] = [0, 0, 0], interpOrder=1, mode='constant')
Apply a 3D transformation to a vector field
- Parameters:
vectField (VectorField3D) – the vector field to be transformed
tformMatrix (np.ndarray) – the transformation matrix
fillValue (float) – the value to fill the data for points coming, after rotation, from outside the image. Default is 0
outputBox (str) – the cube in space represented by the result after rotation (‘same’, ‘keepAll’). Default is ‘keepAll’
rotCenter (str or sequence[float]) – the center of rotation. Default is ‘dicomOrigin’
translation (sequence[float]) – the translation to apply to the data after rotation. Default is [0, 0, 0]
interpOrder (int) – the order of the interpolation (0, 1, 2, 3, 4) default is 1
mode (str) – the mode of the interpolation (‘constant’, ‘nearest’, ‘reflect’, ‘wrap’). Default is ‘constant’
- closeMask(mask, radius=1.0, struct=None, inPlace=True)
close a mask by a given radius
- Parameters:
mask (Image3D) – the mask to close
radius (float) – the radius of the closing in mm. Default is 1.0
struct (ndarray) – the structuring element to use for the closing. Default is None
inPlace (bool) – if True, the mask is closed in place, if False, a copy of the mask is returned. Default is True
- Returns:
the closed mask if inPlace is False, None otherwise
- Return type:
- dilateMask(mask, radius=1.0, struct=None, inPlace=True)
dilate a mask by a given radius
- Parameters:
mask (Image3D) – the mask to dilate
radius (float) – the radius of the dilation in mm. Default is 1.0
struct (ndarray) – the structuring element to use for the dilation. Default is None
inPlace (bool) – if True, the mask is dilated in place, if False, a copy of the mask is returned. Default is True
- Returns:
the dilated mask if inPlace is False, None otherwise
- Return type:
- erodeMask(mask, radius=1.0, struct=None, inPlace=True)
erode a mask by a given radius
- Parameters:
mask (Image3D) – the mask to erode
radius (float) – the radius of the erosion in mm. Default is 1.0
struct (ndarray) – the structuring element to use for the erosion. Default is None
inPlace (bool) – if True, the mask is eroded in place, if False, a copy of the mask is returned. Default is True
- Returns:
the eroded mask if inPlace is False, None otherwise
- Return type:
- gaussianSmoothing(imgArray, sigma=1, truncate=2.5, mode='reflect')
smooth an image with a gaussian filter
- Parameters:
imgArray (ndarray) – the image to smooth
sigma (float) – the sigma of the gaussian filter. Default is 1
truncate (float) – the truncation of the gaussian filter. Default is 2.5
mode (str) – the mode of the gaussian filter. Default is “reflect”
- Returns:
the smoothed image
- Return type:
ndarray
- openMask(mask, radius=1.0, struct=None, inPlace=True)
open a mask by a given radius
- Parameters:
mask (Image3D) – the mask to open
radius (float) – the radius of the opening in mm. Default is 1.0
struct (ndarray) – the structuring element to use for the opening. Default is None
inPlace (bool) – if True, the mask is opened in place, if False, a copy of the mask is returned. Default is True
- Returns:
the opened mask if inPlace is False, None otherwise
- Return type:
- resampleCupy()
TODO
- rotate3DVectorFields(vectorField, rotAnglesInDeg=[0, 0, 0], fillValue=0, outputBox='keepAll', interpOrder=1, mode='constant')
Rotate a vector field around its center
- Parameters:
vectorField (VectorField3D) – the vector field to be rotated
rotationInDeg (sequence[float]) – rotation angles in degrees in the 3 directions [X, Y, Z]
fillValue (float) – the value to fill the data for points coming, after rotation, from outside the image. Default is 0
outputBox (str) – the cube in space represented by the result after rotation (same, keepAll). Default is keepAll
interpOrder (int) – the order of the interpolation (0, 1, 2, 3, 4) default is 1
mode (str) – the mode of the interpolation (constant, nearest, reflect, wrap). Default is constant
- rotateData(data, rotAnglesInDeg, fillValue=0, outputBox='keepAll', interpOrder=1, mode='constant')
- Parameters:
data (Image3D or Dynamic3DSequence or Dynamic3DModel) – data to be rotated.
rotAnglesInDeg (sequence[float]) – rotation angles in degrees in the 3 directions [X, Y, Z]
fillValue (float) – the value to fill the data for points coming, after rotation, from outside the image
outputBox (str) – the cube in space represented by the result after rotation
interpOrder (int) – the order of the interpolation
mode (str) – the mode of the interpolation
- Return type:
data, the rotated data
- rotateImage3D(image, rotAnglesInDeg=[0, 0, 0], fillValue=0, outputBox='keepAll', interpOrder=1, mode='constant')
rotate image3D around its center
- Parameters:
image (Image3D) – the image to be rotated
rotAnglesInDeg (sequence[float]) – rotation angles in degrees in the 3 directions [X, Y, Z]
fillValue (float) – the value to fill the data for points coming, after rotation, from outside the image
outputBox (str) – the cube in space represented by the result after rotation
interpOrder (int) – the order of the interpolation
mode (str) – the mode of the interpolation
- rotateUsingMapCoordinatesCupy(img, rotAngleInDeg, rotAxis=1)
DOES NOT WORK FOR NOW WIP :Parameters: * img
rotAngleInDeg
rotAxis
- translateData(data, translationInMM, fillValue=0, outputBox='keepAll', interpOrder=1, mode='constant')
- Parameters:
data (Image3D or Dynamic3DSequence or Dynamic3DModel)
translationInMM (sequence of the translation in millimeters in the 3 direction [X, Y, Z])
fillValue (the value to fill the data for points coming, after translation, from outside the image)
outputBox (the cube in space represented by the result after translation)
- Return type:
the translated data
opentps.core.processing.imageProcessing.filter3D module
- gaussConv(data, sigma, truncate=2.5, mode='reflect', tryGPU=True)
Apply Gaussian convolution on input data.
- Parameters:
data (numpy array) – data to be convolved.
sigma (double) – standard deviation of the Gaussian.
- Returns:
Convolved data.
- Return type:
numpy array
- normGaussConv(data, cert, sigma, tryGPU=True)
Apply normalized Gaussian convolution on input data.
- Parameters:
data (numpy array) – data to be convolved.
cert (numpy array) – certainty map associated to the data.
sigma (double) – standard deviation of the Gaussian.
- Returns:
Convolved data.
- Return type:
numpy array
opentps.core.processing.imageProcessing.image2DManip module
- get2DMaskCenterOfMass(maskArray)
Returns the center of mass of a 2D mask.
Parameters: - maskArray: 2D mask
- getBinaryMaskFromROIDRR(drr)
Returns a binary mask from a DRR image. The mask is True where the DRR is greater than 2.
Parameters: - drr: DRR image
opentps.core.processing.imageProcessing.imageTransform3D module
- applyTransform3D(data, tformMatrix: ndarray, fillValue: float = 0, outputBox: Sequence[float] | str | None = 'keepAll', rotCenter: Sequence[float] | str | None = 'dicomOrigin', translation: Sequence[float] = [0, 0, 0], tryGPU=False, interpOrder=1, mode='constant')
Apply a 3D transform to the data.
- Parameters:
data (Image3D or VectorField3D) – The data to transform.
tformMatrix (np.ndarray) – The transform matrix.
fillValue (float, optional) – The value to fill the empty voxels. The default is 0.
outputBox (str, optional) – The output box. The default is ‘keepAll’.
rotCenter (list or tuple of 3 elements, optional) – The rotation center. The default is ‘dicomOrigin’.
translation (list or tuple of 3 elements, optional) – The translation vector in mm. The default is [0, 0, 0].
tryGPU (bool, optional) – Try to use the GPU. The default is False.
interpOrder (int, optional) – The interpolation order. The default is 1.
mode (str, optional) – The mode for the interpolation. The default is ‘constant’.
- dicomCoordinate2iecGantry(beam: PlanIonBeam, point: Sequence[float]) Sequence[float]
Transforms a point from DICOM to IEC Gantry coordinates.
- Parameters:
beam (PlanIonBeam) – The beam to use for the transformation.
point (Sequence[float]) – The point to transform coordinates [x, y, z].
- Returns:
The transformed point.
- Return type:
Sequence[float]
- dicomToIECGantry(image: Image3D, beam: PlanIonBeam, fillValue: float = 0, cropROI: ROIContour | ROIMask | None = None, cropDim0=True, cropDim1=True, cropDim2=True) Image3D
Transforms an image from DICOM to IEC Gantry coordinates.
- Parameters:
image (Image3D) – The image to transform.
beam (PlanIonBeam) – The beam to use for the transformation.
fillValue (float) – The value to fill the new voxels with. Default is 0.
cropROI (Optional[Union[ROIContour, ROIMask]]) – The ROI to crop the image to. Default is None.
cropDim0 (bool) – Whether to crop the image in the first dimension. Default is True.
cropDim1 (bool) – Whether to crop the image in the second dimension. Default is True.
cropDim2 (bool) – Whether to crop the image in the third dimension. Default is True.
- Returns:
The transformed image.
- Return type:
- extendAll(images: Sequence[Image3D], inPlace=False, fillValue: float = 0.0) Sequence[Image3D]
Extends all images to the same size and spacing, using the smallest spacing and the largest size.
- Parameters:
images (Sequence[Image3D]) – The images to extend.
inPlace (bool) – Whether to modify the images in place. Default is False.
fillValue (float) – The value to fill the new voxels with. Default is 0.
- Returns:
The extended images if inPlace is False, otherwise the original images modified.
- Return type:
Sequence[Image3D]
- getTtransformMatrixInPixels(transformMatrixInMM, spacing)
Get the transform matrix in pixels from a transform matrix in mm.
- Parameters:
transformMatrixInMM (np.ndarray) – The transform matrix in mm.
spacing (list or tuple of 3 elements) – The spacing of the image.
- Returns:
The transform matrix in pixels.
- Return type:
np.ndarray
- getVoxelIndexFromPosition(position, image3D)
Get the voxel index of the position given in scanner coordinates.
- Parameters:
position (tuple or list of 3 elements in scanner coordinates) – The 3D position that will be translated into voxel indexes
image3D (Image3D) – The 3D image that contains its position in scanner coordinates and voxel spacing
- Returns:
posInVoxels
- Return type:
the 3D position as voxel indexes in the input image voxel grid
- iecGantryCoordinatetoDicom(beam: PlanIonBeam, point: Sequence[float]) Sequence[float]
Transforms a point from IEC Gantry to DICOM coordinates.
- Parameters:
beam (PlanIonBeam) – The beam to use for the transformation.
point (Sequence[float]) – The point to transform coordinates [x, y, z].
- Returns:
The transformed point.
- Return type:
Sequence[float]
- iecGantryToDicom(image: Image3D, beam: PlanIonBeam, fillValue: float = 0, cropROI: ROIContour | ROIMask | None = None, cropDim0=True, cropDim1=True, cropDim2=True) Image3D
Transforms an image from IEC Gantry to DICOM coordinates.
- Parameters:
image (Image3D) – The image to transform.
beam (PlanIonBeam) – The beam to use for the transformation.
fillValue (float) – The value to fill the image with outside the image. Default is 0.
cropROI (Optional[Union[ROIContour, ROIMask]]) – The ROI to crop the image to. Default is None.
cropDim0 (bool) – Whether to crop the image in the first dimension. Default is True.
cropDim1 (bool) – Whether to crop the image in the second dimension. Default is True.
cropDim2 (bool) – Whether to crop the image in the third dimension. Default is True.
- Returns:
The transformed image.
- Return type:
- parseRotCenter(rotCenterArg: Sequence[float] | str | None, image: Image3D)
Parse the rotation center.
- Parameters:
rotCenterArg (list or tuple of 3 elements, optional) – The rotation center. The default is ‘dicomOrigin’.
image (Image3D) – The image.
- Returns:
rotCenter – The rotation center.
- Return type:
np.ndarray
- rotateData(data, rotAnglesInDeg, outputBox='keepAll', fillValue=0, rotCenter='dicomOrigin', tryGPU=False, interpOrder=1, mode='constant')
Rotate the data.
- Parameters:
data (Image3D or VectorField3D) – The data to rotate.
rotAnglesInDeg (list or tuple of 3 elements) – The rotation angles in degrees.
outputBox (str, optional) – The output box. The default is ‘keepAll’.
fillValue (int, optional) – The value to fill the empty voxels. The default is 0.
rotCenter (list or tuple of 3 elements, optional) – The rotation center. The default is ‘dicomOrigin’.
tryGPU (bool, optional) – Try to use the GPU. The default is False.
interpOrder (int, optional) – The interpolation order. The default is 1.
mode (str, optional) – The mode for the interpolation. The default is ‘constant’.
- rotateVectorsInPlace(vectField, rotationArrayOrMatrix)
Rotate a vector field in place using a rotation matrix or a rotation vector.
- Parameters:
vectField (VectorField3D) – The vector field to rotate.
rotationArrayOrMatrix (np.ndarray) – The rotation matrix or rotation vector.
- transform3DMatrixFromTranslationAndRotationsVectors(transVec=[0, 0, 0], rotVec=[0, 0, 0])
Create a 4x4 affine transform matrix from a translation vector and a rotation vector.
- Parameters:
transVec (list or tuple of 3 elements) – The translation vector in mm.
rotVec (list or tuple of 3 elements) – The rotation vector in degrees.
- Returns:
The 4x4 affine transform matrix.
- Return type:
np.ndarray
- translateData(data, translationInMM, outputBox='keepAll', fillValue=0, tryGPU=False, interpOrder=1, mode='constant')
Translate the data by changing its origin.
- Parameters:
data (Image3D or VectorField3D) – The data to translate.
translationInMM (list or tuple of 3 elements) – The translation vector in mm.
outputBox (str, optional) – The output box. The default is ‘keepAll’.
fillValue (int, optional) – The value to fill the empty voxels. The default is 0.
tryGPU (bool, optional) – Try to use the GPU. The default is False.
interpOrder (int, optional) – The interpolation order. The default is 1.
mode (str, optional) – The mode for the interpolation. The default is ‘constant’.
- translateDataByChangingOrigin(data, translationInMM)
Translate the data by changing its origin.
- Parameters:
data (Image3D or VectorField3D) – The data to translate.
translationInMM (list or tuple of 3 elements) – The translation vector in mm.
opentps.core.processing.imageProcessing.resampler3D module
- crop3DDataAroundBox(data, box, marginInMM=[0, 0, 0])
Crop a 3D data in-place around a box given in scanner coordinates
- Parameters:
data (Image3D, Dynamic3DModel or Dynamic3DSequence) – The 3D data that will be cropped
box (list of tuples or list) – Universal coordinates of the box around which the data is cropped, under the form [[x1, X2], [y1, y2], [z1, z2]]. By convention, these are coordinates of the center of the voxels at the corners of the box. The resulting cropped data inclues those voxels at the extremities.
marginInMM (list of float for the margin in mm for each dimension) – The margins in mm that is added around the box before cropping
- resample(data: Any, spacing: Sequence[float] | None = None, gridSize: Sequence[int] | None = None, origin: Sequence[float] | None = None, fillValue: float = 0.0, outputType: dtype | None = None, inPlace: bool = False, tryGPU: bool = False)
- Parameters:
data (Image3D, Deformation3D, Dynamic3DSequence) – The data to be resampled
spacing (Sequence[float]) – The new spacing of the resampled data
gridSize (Sequence[int]) – The new grid size of the resampled data
origin (Sequence[float]) – The new origin of the resampled data
fillValue (float) – The value to fill the resampled data with
outputType (np.dtype) – The data type of the resampled data
inPlace (bool) – Whether to perform the resampling in place
tryGPU (bool) – Whether to attempt to use the GPU for resampling
- Returns:
resampledData – The resampled data (if inPlace = False)
- Return type:
Image3D, Deformation3D, Dynamic3DSequence
- resampleImage3D(image: Image3D, spacing: Sequence[float] | None = None, gridSize: Sequence[int] | None = None, origin: Sequence[float] | None = None, fillValue: float = 0.0, outputType: dtype | None = None, inPlace: bool = False, tryGPU: bool = False)
- Parameters:
image (Image3D) – The image to be resampled
spacing (Sequence[float]) – The new spacing of the resampled image
gridSize (Sequence[int]) – The new grid size of the resampled image
origin (Sequence[float]) – The new origin of the resampled image
fillValue (float) – The value to fill the resampled image with
outputType (np.dtype) – The data type of the resampled image
inPlace (bool) – Whether to perform the resampling in place
tryGPU (bool) – Whether to attempt to use the GPU for resampling
- Returns:
resampledImage – The resampled image (if inPlace = False)
- Return type:
- resampleImage3DOnImage3D(image: Image3D, fixedImage: Image3D, fillValue: float = 0.0, inPlace: bool = False, tryGPU: bool = False)
- Parameters:
image (Image3D) – The image to be resampled
fixedImage (Image3D) – The image to be resampled on
fillValue (float) – The value to fill the resampled image with
inPlace (bool) – Whether to perform the resampling in place
tryGPU (bool) – Whether to attempt to use the GPU for resampling
- Returns:
resampledImage – The resampled image (if inPlace = False)
- Return type:
- resampleOnImage3D(data: Any, fixedImage: Image3D, fillValue: float = 0.0, inPlace: bool = False, tryGPU: bool = False)
- Parameters:
data (Image3D) – The image to be resampled
fixedImage (Image3D) – The image to be resampled on
fillValue (float) – The value to fill the resampled image with
inPlace (bool) – Whether to perform the resampling in place
tryGPU (bool) – Whether to attempt to use the GPU for resampling
- Returns:
resampledImage – The resampled image (if inPlace = False)
- Return type:
- resampleOpenMP(data, inputOrigin, inputSpacing, inputGridSize, outputOrigin, outputSpacing, outputGridSize, fillValue=0, outputType=None, tryGPU=True)
Resample 3D data according to new voxel grid using linear interpolation.
- Parameters:
data (numpy array) – data to be resampled.
inputOrigin (list) – origin of the input data voxel grid.
inputSpacing (list) – spacing of the input data voxel grid.
inputGridSize (list) – size of the input data voxel grid.
outputOrigin (list) – origin of the output data voxel grid.
outputSpacing (list) – spacing of the output data voxel grid.
outputGridSize (list) – size of the output data voxel grid.
fillValue (scalar) – interpolation value for locations outside the input voxel grid.
outputType (numpy data type) – type of the output.
- Returns:
Resampled data.
- Return type:
numpy array
- warp(data, field, spacing, fillValue=0, outputType=None, tryGPU=True)
Warp 3D data based on 3D vector field using linear interpolation.
- Parameters:
data (numpy array) – data to be warped.
field (numpy array) – origin of the input data voxel grid.
spacing (list) – spacing of the input data voxel grid.
fillValue (scalar) – interpolation value for locations outside the input voxel grid.
outputType (numpy data type) – type of the output.
- Returns:
Warped data.
- Return type:
numpy array
opentps.core.processing.imageProcessing.sitkImageProcessing module
- applyTransform3D(data, tformMatrix: ndarray, fillValue: float = 0.0, outputBox: Sequence[float] | str | None = 'keepAll', rotCenter: Sequence[float] | str | None = 'dicomOrigin', translation: Sequence[float] = [0, 0, 0])
Apply a transformation to an Image3D or a Dynamic3DSequence.
- Parameters:
data (Union[Image3D, Dynamic3DSequence]) – The data to transform
tformMatrix (np.ndarray) – The transformation matrix to apply
fillValue (float) – The value to fill the empty voxels with. Default is 0.
outputBox (Union[Sequence[float], str]) – The output box to crop the transformed image to. Default is ‘keepAll’
rotCenter (Union[Sequence[float], str]) – The rotation center of the transformation. Default is ‘dicomOrigin’
translation (Sequence[float]) – The translation to apply to the image. Default is [0, 0, 0]
- Returns:
The transformed data
- Return type:
Union[Image3D, Dynamic3DSequence]
- applyTransform3DToImage3D(image: Image3D, tformMatrix: ndarray, fillValue: float = 0.0, outputBox: Sequence[float] | str | None = 'keepAll', rotCenter: Sequence[float] | str | None = 'dicomOrigin', translation: Sequence[float] = [0, 0, 0])
Apply a transformation to an Image3D.
- Parameters:
image (Image3D) – The image to transform
tformMatrix (np.ndarray) – The transformation matrix to apply
fillValue (float) – The value to fill the empty voxels with. Default is 0.
outputBox (Union[Sequence[float], str]) – The output box to crop the transformed image to. Default is ‘keepAll’
rotCenter (Union[Sequence[float], str]) – The rotation center of the transformation. Default is ‘dicomOrigin’
translation (Sequence[float]) – The translation to apply to the image. Default is [0, 0, 0]
- Returns:
The transformed image
- Return type:
- applyTransform3DToPoint(tformMatrix: ndarray, pnt: ndarray, rotCenter: Sequence[float] | None = [0, 0, 0], translation: Sequence[float] = [0, 0, 0])
Apply a transformation to a point.
- Parameters:
tformMatrix (np.ndarray) – The transformation matrix to apply
pnt (np.ndarray) – The point to transform [x, y, z]
rotCenter (Sequence[float]) – The rotation center of the transformation. Default is [0, 0, 0]
translation (Sequence[float]) – The translation to apply to the image. Default is [0, 0, 0]
- applyTransform3DToVectorField3D(vectField: VectorField3D, tformMatrix: ndarray, fillValue: float = 0.0, outputBox: Sequence[float] | str | None = 'keepAll', rotCenter: Sequence[float] | str | None = 'dicomOrigin', translation: Sequence[float] = [0, 0, 0])
Apply a transformation to a VectorField3D.
- Parameters:
vectField (VectorField3D) – The vector field to transform
tformMatrix (np.ndarray) – The transformation matrix to apply
fillValue (float) – The value to fill the empty voxels with. Default is 0.
outputBox (Union[Sequence[float], str]) – The output box to crop the transformed image to. Default is ‘keepAll’
rotCenter (Union[Sequence[float], str]) – The rotation center of the transformation. Default is ‘dicomOrigin’
translation (Sequence[float]) – The translation to apply to the image. Default is [0, 0, 0]
- Returns:
The transformed vector field
- Return type:
- connectComponents(image: Image3D)
Connect the components of a binary image.
- Parameters:
image (Image3D) – The image to connect the components of
- Returns:
The connected components image
- Return type:
- dilateMask(image: Image3D, radius: float | Sequence[float])
dilate a mask
- Parameters:
image (Image3D) – The image to dilate
radius (Union[float, Sequence[float]]) – The radius of the dilation
- Returns:
The dilated image
- Return type:
- extremePoints(image: Image3D)
Get the extreme points of an Image3D (topmost, bottommost, rightmost, leftmost, … points of the object.
- Parameters:
image (Image3D) – The image to get the extreme points of
- Returns:
The extreme points coordinates of the image
- Return type:
list
- extremePointsAfterTransform(image: Image3D, tformMatrix: ndarray, rotCenter: Sequence[float] | str | None = 'dicomOrigin', translation: Sequence[float] = [0, 0, 0])
Get the extreme points of an Image3D (topmost, bottommost, rightmost, leftmost, … points of the object after applying a transformation.
- Parameters:
image (Image3D) – The image to transform and get the extreme points of
tformMatrix (np.ndarray) – The transformation matrix to apply
rotCenter (Union[Sequence[float], str]) – The rotation center of the transformation. Default is ‘dicomOrigin’
translation (Sequence[float]) – The translation to apply to the image. Default is [0, 0, 0]
- Returns:
The extreme points coordinates of the image after applying the transformation
- Return type:
list
- image2DToSITK(image: ~opentps.core.data.images._image2D.Image2D, type=<class 'numpy.float32'>)
Convert an Image2D to a SimpleITK image
- Parameters:
image (Image2D) – The image to convert
type (np.dtype) – The type of the image to convert to. Default is np.float32
- Returns:
The converted image
- Return type:
sitk.Image
- image3DToSITK(image: ~opentps.core.data.images._image3D.Image3D, type=<class 'numpy.float32'>)
Convert an Image3D to a SimpleITK image
- Parameters:
image (Image3D) – The image to convert
type (np.dtype) – The type of the image to convert to. Default is np.float32
- Returns:
The converted image
- Return type:
sitk.Image
- imageToSITK(image: ~opentps.core.data.images._image2D.Image2D | ~opentps.core.data.images._image3D.Image3D, type=<class 'numpy.float32'>)
Convert an Image2D or Image3D to a SimpleITK image
- Parameters:
image (Image2D or Image3D) – The image to convert
type (np.dtype) – The type of the image to convert to. Default is np.float32
- Returns:
The converted image
- Return type:
sitk.Image
- register(fixed_image, moving_image, multimodal=True, fillValue: float = 0.0)
Register two images.
- Parameters:
fixed_image (Image3D) – The fixed image
moving_image (Image3D) – The moving image
multimodal (bool) – Whether the images are multimodal or not. Default is True.
fillValue (float) – The value to fill the empty voxels with. Default is 0.
- Returns:
tformMatrix (np.ndarray) – The transformation matrix
rotcenter (np.ndarray) – The rotation center
Image3D – The registered image
- resize(image: Image3D, newSpacing: ndarray, newOrigin: ndarray | None = None, newShape: ndarray | None = None, fillValue: float = 0.0)
Resize an Image3D
- Parameters:
image (Image3D) – The image to resize
newSpacing (np.ndarray) – The new spacing of the image
newOrigin (np.ndarray) – The new origin of the image
newShape (np.ndarray) – The new shape of the image
fillValue (float) – The value to fill the new image with
- Returns:
The resized image
- Return type:
- rotateData(data, rotAnglesInDeg, fillValue=0, rotCenter='imgCenter', outputBox='keepAll')
Rotate a 3D image.
- Parameters:
data (np.ndarray) – The image to rotate
rotAnglesInDeg (np.ndarray) – The rotation angles in degrees [x, y, z]
fillValue (float) – The value to fill the empty voxels with. Default is 0.
rotCenter (Union[Sequence[float], str]) – The rotation center of the transformation. Default is ‘imgCenter’
outputBox (Union[Sequence[float], str]) – The output box to crop the transformed image to. Default is ‘keepAll’
- sitkImageToImage2D(sitkImage: ~SimpleITK.SimpleITK.Image, type=<class 'float'>)
Convert a SimpleITK image to an Image2D
- Parameters:
sitkImage (sitk.Image) – The image to convert
type (np.dtype) – The type of the image to convert to. Default is np.float32
- Returns:
The converted image
- Return type:
- sitkImageToImage3D(sitkImage: ~SimpleITK.SimpleITK.Image, type=<class 'float'>)
Convert a SimpleITK image to an Image3D
- Parameters:
sitkImage (sitk.Image) – The image to convert
type (np.dtype) – The type of the image to convert to. Default is np.float32
- Returns:
The converted image
- Return type:
- translateData(data, translationInMM, fillValue=0, outputBox='keepAll')
Apply a translation to a 3D image.
- Parameters:
data (np.ndarray) – The image to translate
translationInMM (np.ndarray) – The translation in mm [x, y, z]
fillValue (float) – The value to fill the empty voxels with. Default is 0.
outputBox (Union[Sequence[float], str]) – The output box to crop the transformed image to. Default is ‘keepAll’
opentps.core.processing.imageProcessing.syntheticDeformation module
- applyBaselineShift(inputData, ROI, shift, sigma=2, tryGPU=True)
apply a baseline shift to the image and the ROI
- Parameters:
inputData (Dynamic3DModel or Image3D) – the image to deform
ROI (ROIContour or ROIMask) – the ROI to deform
shift (np.array) – the shift to apply in mm
sigma (float) – the sigma of the gaussian used to smooth the deformation
tryGPU (bool) – if True, try to use the GPU
- Returns:
Dynamic3DModel or Image3D – the deformed image
ROIContour or ROIMask – the deformed ROI
- forceShiftInMask(deformation, mask, shift)
force the deformation to be 0 in the mask
- Parameters:
deformation (Deformation3D) – the deformation to modify
mask (ROIMask) – the mask to use
shift (np.array) – the shift to apply (same as the one applied to the image)
- Returns:
the modified deformation
- Return type:
- shrinkOrgan(model, organMask, shrinkSize=[2, 2, 2], tryGPU=True)
shrink the organ mask by a given size
- Parameters:
model (Dynamic3DModel) – the model to modify
organMask (ROIMask) – the organ mask to shrink
shrinkSize (list) – the size of the shrink in mm in each direction (x, y, z)
tryGPU (bool) – if True, try to use the GPU
- Returns:
Dynamic3DModel – the modified model
ROIMask – the modified organ mask