Hello everyone,
I'm working with XNAT 1.9.3.1 and Container Service 3.5.0 on the Nordlingen portal. Recently, we encountered a problem where the "Add Command" button didn't appear after installing a custom TotalSegmentator image.
We discovered, through analysis of the containers.log, that the XNAT validator was silently rejecting the JSON with the error: ERROR - Output references unknown mount "null". Mount cannot be blank.
What we learned and want to share:
Even if the input/output mounts are defined at the top of the JSON, they must be referenced individually within each output object.
The N/A status in "Site-wide Config" persists until a Wrapper is created via API or the settings tab, which is not intuitive in the current UI.
This may help other users who are trying to implement heavy AI on remote GPUs (Titan X) using 32GB of swap to handle large DICOM volumes.
{
"name": "TotalSegmentator-HighRes-DDI",
"label": "TotalSegmentator Alta Resolução (DDI)",
"description": "IA de 1.5mm rodando na Titan X com 32GB de Swap",
"image": "ernandezsantos/totalsegmentator_unifesp:v1",
"type": "docker",
"command-line": "TotalSegmentator -i /input -o /output --task total --force_split --nr_thr_resamp 1",
"mounts": [
{
"name": "in",
"writable": false,
"path": "/input"
},
{
"name": "out",
"writable": true,
"path": "/output"
}
],
"environment-variables": {},
"ports": {},
"inputs": [
{
"name": "scan",
"description": "CT para processar",
"type": "string",
"required": true,
"select-values": []
}
],
"outputs": [
{
"name": "seg-results",
"required": false,
"mount": "out"
}
],
"xnat": [],
"container-labels": {},
"generic-resources": {},
"ulimits": {},
"secrets": [],
"visibility": "public"
}
Thank you for your continued support, Ernandez Santos