API Reference#
MAISI NIM provides following API endpoints:
GET
: /v1/health/live - Check if service is alive (might not be ready yet)GET
: /v1/health/ready - Check if service is ready and model is ready for inferenceGET
: /v1/license - Return the license for the NIMGET
: /v1/maisi/info - Fetch detailed information about the model such as version and labelsPOST
: /v1/maisi/run - Generate CT images with paired segmentation masks
Payload Options#
Parameter |
Required |
Type |
Description |
Options/Range |
---|---|---|---|---|
|
Yes |
Integer |
Number of images to generate |
Positive integer |
|
Yes |
List of Strings |
Target body regions |
[“head”, “chest”, “thorax”, “abdomen”, “pelvis”, “lower”] |
|
No |
List of Strings |
Specific anatomical structures |
See Supported Anatomy section |
|
No |
List of 3 Integers |
Image dimensions (x, y, z) |
x, y: 256, 384, 512 |
|
No |
List of 3 Floats |
Voxel spacing |
Each value: 0.5 to 5.0 |
|
No |
List of Tuples (String, Float) for organ name and size |
Organ size control (max 10) |
Organs: [“liver”, “gallbladder”, “stomach”, “pancreas”, “colon”, “lung tumor”, “bone lesion”, “hepatic tumor”, “colon cancer primaries”, “pancreatic tumor”] |
|
No |
String |
URL for result upload |
- |
|
No |
String |
If specified, the generated images will be saved in the provided directory. |
- |
|
No |
String |
Output file extension |
Supported extensions: “.nrrd”, “.nii”, “.nii.gz”, “.dcm”. Default: “.nii.gz” |
|
No |
String |
Output file extension |
Supported extensions: “.nrrd”, “.nii”, “.nii.gz”, “.dcm”. Default: “.nii.gz” |
Supported Anatomy#
You can find all of the classes available in the model in the MAISI label_dict.json.
Recommended output_size
and spacing
Values#
Based on the statistics of the training data, we recommend the following input parameters for the body regions included in the training data. The recommended output_size
is the median value of the training data, and the recommended spacing
is calculated as the median Field of View (FOV) divided by the recommended output_size
.
|
|
|
---|---|---|
[‘chest’, ‘abdomen’] |
[512, 512, 128] |
[0.781, 0.781, 2.981] |
[‘chest’] |
[512, 512, 128] |
[0.684, 0.684, 2.422] |
[‘chest’, ‘abdomen’, ‘lower’] |
[512, 512, 256] |
[0.793, 0.793, 1.826] |
[‘lower’] |
[512, 512, 384] |
[0.839, 0.839, 0.728] |
[‘abdomen’, ‘lower’] |
[512, 512, 384] |
[0.808, 0.808, 0.729] |
[‘head’, ‘chest’, ‘abdomen’] |
[512, 512, 384] |
[0.977, 0.977, 2.103] |
[‘abdomen’] |
[512, 512, 128] |
[0.723, 0.723, 1.182] |
[‘head’, ‘chest’, ‘abdomen’, ‘lower’] |
[512, 512, 384] |
[1.367, 1.367, 4.603] |
[‘head’, ‘chest’] |
[512, 512, 128] |
[0.645, 0.645, 2.219] |
If users want to try different "output_size"
, please adjust "spacing"
to ensure a reasonable FOV, which is the product of "output_size"
and "spacing"
.
Please refer to Getting Started for more examples.