niftynet.io.image_type module¶
This module defines images used by image reader, image properties are set by user or read from image header.
-
class
DataFromFile(file_path, name=('loadable_data', ), loader=None)[source]¶ Bases:
niftynet.io.image_type.LoadableData from file should have a valid file path (are files on hard drive) and a name.
-
dtype¶ data type property of the input images.
Returns: a tuple of input image data types len(self.dtype) == len(self.file_path)
-
file_path¶ A tuple of valid image filenames, this property always returns a tuple, length of the tuple is one for single image, length of the tuple is larger than one for single image from multiple files.
Returns: a tuple of file paths
-
loader¶ A tuple of valid image loaders. Always returns a tuple
-
name¶ A tuple of image names, this property always returns a tuple, length of the tuple is one for single image, length of the tuple is larger than one for single image from multiple files.
Returns: a tuple of image name tags
-
-
class
SpatialImage2D(file_path, name, interp_order, output_pixdim, output_axcodes, loader)[source]¶ Bases:
niftynet.io.image_type.DataFromFile2D images, axcodes specifications are ignored when loading. (Resampling to new pixdims is currently not supported).
-
spatial_rank¶ volume [x, y, 1, m, n] will have a spatial rank 2 volume [x, y, z, m, n] will have a spatial rank 3
if z > 1(resampling/reorientation will not be done when spatial rank is 2).
-
shape¶ This function read image shape info from the headers The lengths in the fifth dim of multiple images are summed as a multi-mod representation. The fourth dim corresponding to different time sequences is ignored.
Returns: a tuple of integers as image shape
-
original_pixdim¶ pixdim info from the image header.
Returns: a tuple of pixdims, with each element as pixdims of an image file
-
original_affine¶ affine info from the image header.
Returns: a tuple of affine, with each element as an affine matrix of an image file
-
original_axcodes¶ axcodes info from the image header more info: http://nipy.org/nibabel/image_orientation.html
Returns: a tuple of axcodes, with each element as axcodes of an image file
-
interp_order¶ interpolation order specified by user.
Returns: a tuple of integers, with each element as an interpolation order of an image file
-
dtype¶ data type property of the input images.
Returns: a tuple of input image data types len(self.dtype) == len(self.file_path)
-
output_pixdim¶ output pixdim info specified by user set to None for using the original pixdim in image header otherwise get_data() transforms image array according to this value.
Returns: a tuple of pixdims, with each element as pixdims of an image file
-
output_axcodes¶ output axcodes info specified by user set to None for using the original axcodes in image header, otherwise get_data() change axes of the image array according to this value.
Returns: a tuple of pixdims, with each element as pixdims of an image file
-
-
class
SpatialImage3D(file_path, name, interp_order, output_pixdim, output_axcodes, loader)[source]¶ Bases:
niftynet.io.image_type.SpatialImage2D3D image from a single, supports resampling and reorientation (3D image from a set of 2D slices is currently not supported).
-
output_pixdim¶
-
output_axcodes¶
-
shape¶
-
-
class
SpatialImage4D(file_path, name, interp_order, output_pixdim, output_axcodes, loader)[source]¶ Bases:
niftynet.io.image_type.SpatialImage3D4D image from a set of 3D volumes, supports resampling and reorientation.
The 3D volumes are concatenated in the fifth dim (modality dim)
-
spatial_rank¶ Inferring spatial rank from array shape.
In the case of concatenating
Mvolumes of[x, y, 1]the outcome[x, y, 1, 1, M]will have a spatial rank 2 (resampling/reorientation will not be done in this case).Returns: an integer
-
-
class
SpatialImage5D(file_path, name, interp_order, output_pixdim, output_axcodes, loader)[source]¶ Bases:
niftynet.io.image_type.SpatialImage4D5D image from a single file, resampling and reorientation are implemented as operations on each 3D slice individually.
(5D image from a set of 4D files is currently not supported)
-
class
ImageFactory[source]¶ Bases:
objectCreate image instance according to number of dimensions specified in image headers.
-
INSTANCE_DICT= {2: <class 'niftynet.io.image_type.SpatialImage2D'>, 3: <class 'niftynet.io.image_type.SpatialImage3D'>, 4: <class 'niftynet.io.image_type.SpatialImage4D'>, 5: <class 'niftynet.io.image_type.SpatialImage5D'>, 6: <class 'niftynet.io.image_type.SpatialImage5D'>}¶
-