# NiBabel

### Access a cacophony of neuro-imaging file formats

# `minc2`

Preliminary MINC2 support

Use with care; I haven’t tested this against a wide range of MINC files.

If you have a file that isn’t read correctly, please send an example.

Test reading with something like:

    import nibabel as nib
    img = nib.load('my_funny.mnc')
    data = img.get_fdata()
    print(data.mean())
    print(data.max())
    print(data.min())

and compare against command line output of:

    mincstats my_funny.mnc

`Hdf5Bunch`(var) | Make object for accessing attributes of variable
`Minc2File`(mincfile) | Class to wrap MINC2 format file
`Minc2Header`(data_dtype, shape, zooms) |
`Minc2Image`(dataobj, affine[, header, extra, ...]) | Class for MINC2 images

## `Hdf5Bunch`

class nibabel.minc2.Hdf5Bunch(var)

  Bases: `object`

  Make object for accessing attributes of variable

  __init__(var)

## `Minc2File`

class nibabel.minc2.Minc2File(mincfile)

  Bases: `Minc1File`

  Class to wrap MINC2 format file

  Although it has some of the same methods as a `Header`, we use this only when reading a MINC2 file, to pull out useful header information, and for the method of reading the data out

  __init__(mincfile)
  get_data_dtype()
  get_data_shape()
  get_scaled_data(sliceobj=())

    Return scaled data for slice definition sliceobj

    Parameters:
      sliceobj tuple, optional

        slice definition. If not specified, return whole array

    Returns:
      scaled_arr array

        array from minc file with scaling applied

## `Minc2Header`

class nibabel.minc2.Minc2Header(data_dtype: npt.DTypeLike = <class 'numpy.float32'>, shape: Sequence[int] = (0, ), zooms: Sequence[float] | None = None)

  Bases: `MincHeader`

  __init__(data_dtype: npt.DTypeLike = <class 'numpy.float32'>, shape: Sequence[int] = (0, ), zooms: Sequence[float] | None = None)
  classmethod may_contain_header(binaryblock)

## `Minc2Image`

class nibabel.minc2.Minc2Image(dataobj: ArrayLike, affine: np.ndarray | None, header: FileBasedHeader | ty.Mapping | None = None, extra: ty.Mapping | None = None, file_map: FileMap | None = None)

  Bases: `Minc1Image`

  Class for MINC2 images

  The MINC2 image class uses the default header type, rather than a specific MINC header type - and reads the relevant information from the MINC file on load.

  Initialize image

  The image is a combination of (array-like, affine matrix, header), with optional metadata in extra, and filename / file-like objects contained in the file_map mapping.

  Parameters:
    dataobj object

      Object containing image data. It should be some object that returns an array from `np.asanyarray`. It should have a `shape` attribute or property

    affine None or (4,4) array-like

      homogeneous affine giving relationship between voxel coordinates and world coordinates. Affine can also be None. In this case, `obj.affine` also returns None, and the affine as written to disk will depend on the file format.

    header None or mapping or header instance, optional

      metadata for this image format

    extra None or mapping, optional

      metadata to associate with image that cannot be stored in the metadata of this image type

    file_map mapping, optional

      mapping giving file information for this image format

  __init__(dataobj: ArrayLike, affine: np.ndarray | None, header: FileBasedHeader | ty.Mapping | None = None, extra: ty.Mapping | None = None, file_map: FileMap | None = None)

    Initialize image

    The image is a combination of (array-like, affine matrix, header), with optional metadata in extra, and filename / file-like objects contained in the file_map mapping.

    Parameters:
      dataobj object

        Object containing image data. It should be some object that returns an array from `np.asanyarray`. It should have a `shape` attribute or property

      affine None or (4,4) array-like

        homogeneous affine giving relationship between voxel coordinates and world coordinates. Affine can also be None. In this case, `obj.affine` also returns None, and the affine as written to disk will depend on the file format.

      header None or mapping or header instance, optional

        metadata for this image format

      extra None or mapping, optional

        metadata to associate with image that cannot be stored in the metadata of this image type

      file_map mapping, optional

        mapping giving file information for this image format

  classmethod from_file_map(file_map, *, mmap=True, keep_file_open=None)

    Class method to create image from mapping in `file_map`

    Parameters:
      file_map dict

        Mapping with (key, value) pairs of (`file_type`, FileHolder instance giving file-likes for each file needed for this image type.

      mmap{True, False, ‘c’, ‘r’}, optional, keyword only

        mmap controls the use of numpy memory mapping for reading image array data. If False, do not try numpy `memmap` for data array. If one of {‘c’, ‘r’}, try numpy memmap with `mode=mmap`. A mmap value of True gives the same behavior as `mmap='c'`. If image data file cannot be memory-mapped, ignore mmap value and read array from file.

      keep_file_open{ None, True, False }, optional, keyword only

        keep_file_open controls whether a new file handle is created every time the image is accessed, or a single file handle is created and used for the lifetime of this `ArrayProxy`. If `True`, a single file handle is created and used. If `False`, a new file handle is created every time the image is accessed. If `file_map` refers to an open file handle, this setting has no effect. The default value (`None`) will result in the value of `nibabel.arrayproxy.KEEP_FILE_OPEN_DEFAULT` being used.

    Returns:
      img DataobjImage instance
  header_class

    alias of `Minc2Header`