# 10.22. Clara FastIO Variable Passthrough - Nifti to FastIO Variable Conveter Operator¶

This application is NOT for medical use.

## 10.22.1. Overview¶

This application reads a Nifti file in the expected payload input folder (/input), and assigns the values in the Nifti file to a FastIO variable named segmentation, while also storing the shape of the array in the Nifti file in the FastIO variable segmentation_shape.

The operator checks the dynamically changeable dimensions of segmentation as specified in the pipeline (e.g. if the shape in the pipeline takes the form [1, -1, -1, -1] it means that the last 3 dimensions in the shape are changeable at operator runtime however the array must have one “channel”). The shape (and therefore memory allocation) of segmentation is therefore updatable using the FastIO Variable API (e.g. using segmentation_out.update_shape which will update the type metadata and automatically allocate if all shape entries are not -1).

The variable segmentation_shape is, on the other hand, fixed in size and must contain 4 elements.

The latter variable is not necessary to store shape information, since once segmentation is fully specified shape information will directly be available from it. Here, however, we use segmentation_shape as an exercise to use a fixed-size array.

## 10.22.2. Inputs¶

This application, in the form of a Docker container, expects an input folder (/input by default), which must be mapped to a host folder. The following file is expected in the folder:

• An image file in Nifti format.

## 10.22.3. Outputs¶

FastIO variable array in shared memory.

## 10.22.4. Directory Structure¶

The directories in the container are shown below.

/app_nifti_to_fastio
├── Dockerfile
├── main.py
└── requirements.txt