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
)
| 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") |
no test coverage detected