MCPcopy Create free account
hub / github.com/Project-MONAI/MONAI / create_backend_obj

Method create_backend_obj

monai/data/image_writer.py:641–671  ·  view source on GitHub ↗

Create an Nifti1Image object from ``data_array``. This method assumes a 'channel-last' ``data_array``. Args: data_array: input data array. affine: affine matrix of the data array. dtype: output data type. kwargs: keyword arguments. Cu

(
        cls, data_array: NdarrayOrTensor, affine: NdarrayOrTensor | None = None, dtype: DtypeLike = None, **kwargs
    )

Source from the content-addressed store, hash-verified

639
640 @classmethod
641 def create_backend_obj(
642 cls, data_array: NdarrayOrTensor, affine: NdarrayOrTensor | None = None, dtype: DtypeLike = None, **kwargs
643 ):
644 """
645 Create an Nifti1Image object from ``data_array``. This method assumes a 'channel-last' ``data_array``.
646
647 Args:
648 data_array: input data array.
649 affine: affine matrix of the data array.
650 dtype: output data type.
651 kwargs: keyword arguments. Current ``nib.nifti1.Nifti1Image`` will read
652 ``header``, ``extra``, ``file_map`` from this dictionary.
653
654 See also:
655
656 - https://nipy.org/nibabel/reference/nibabel.nifti1.html#nibabel.nifti1.Nifti1Image
657 """
658 data_array = super().create_backend_obj(data_array)
659 if dtype is not None:
660 data_array = data_array.astype(get_equivalent_dtype(dtype, np.ndarray), copy=False)
661 affine = convert_data_type(affine, np.ndarray)[0]
662 if affine is None:
663 affine = np.eye(4)
664 affine = to_affine_nd(r=3, affine=affine)
665 return nib.nifti1.Nifti1Image(
666 data_array,
667 affine,
668 header=kwargs.pop("header", None),
669 extra=kwargs.pop("extra", None),
670 file_map=kwargs.pop("file_map", None),
671 )
672
673
674@require_pkg(pkg_name="PIL")

Callers 1

writeMethod · 0.95

Calls 6

get_equivalent_dtypeFunction · 0.90
convert_data_typeFunction · 0.90
to_affine_ndFunction · 0.90
astypeMethod · 0.80
popMethod · 0.80
create_backend_objMethod · 0.45

Tested by

no test coverage detected