diff --git a/README.md b/README.md index 63803328..8b161a75 100644 --- a/README.md +++ b/README.md @@ -32,11 +32,12 @@ To install [the current release](https://pypi.org/project/monai-deploy-app-sdk/) pip install monai-deploy-app-sdk # '--pre' to install a pre-release version. ``` -Please also note the following system requirements: -- Ubuntu 22.04 on X86-64 is required, as this is the only X86 platform that the underlying Holoscan SDK has been tested to support as of now. -- [CUDA 12](https://developer.nvidia.com/cuda-12-0-0-download-archive) is required along with a supported NVIDIA GPU with at least 8GB of video RAM. If AI inference is not used in the example application and a GPU is not installed, at least [CUDA 12 runtime](https://pypi.org/project/nvidia-cuda-runtime-cu12/) is required, as this is one of the requirements of Holoscan SDK, in addition, the `LIB_LIBRARY_PATH` must be set to include the installed shared library, e.g. in a Python 3.8 env, ```export LD_LIBRARY_PATH=`pwd`/.venv/lib/python3.8/site-packages/nvidia/cuda_runtime/lib:$LD_LIBRARY_PATH``` - +### Prerequisites +- This SDK depends on [NVIDIA Holoscan SDK](https://pypi.org/project/holoscan/) for its core implementation as well as its CLI, hence inherits its prerequisites, e.g. Ubuntu 22.04 with glibc 2.35 on X86-64 and NVIDIA dGPU drivers version 535 or above. +- [CUDA 12.2](https://developer.nvidia.com/cuda-12-2-0-download-archive) or above is required along with a supported NVIDIA GPU with at least 8GB of video RAM. +- If inference is not used in an example application and a GPU is not installed, at least [CUDA 12 runtime](https://pypi.org/project/nvidia-cuda-runtime-cu12/) is required, as this is one of the requirements of Holoscan SDK. In addition, the `LIB_LIBRARY_PATH` must be set to include the installed shared library, e.g. in a Python 3.10 env, ```export LD_LIBRARY_PATH=`pwd`/.venv/lib/python3.10/site-packages/nvidia/cuda_runtime/lib:$LD_LIBRARY_PATH``` +- Python: 3.9 to 3.12 ## Getting Started @@ -53,15 +54,16 @@ cd monai-deploy-app-sdk pip install matplotlib Pillow scikit-image # Execute the app locally -python examples/apps/simple_imaging_app/app.py -i examples/apps/simple_imaging_app/brain_mr_input.jpg -o output +python examples/apps/simple_imaging_app/app.py -i examples/apps/simple_imaging_app/input/brain_mr_input.jpg -o output # Package app (creating MAP Docker image), using `-l DEBUG` option to see progress. -monai-deploy package examples/apps/simple_imaging_app -c simple_imaging_app/app.yaml -t simple_app:latest --platform x64-workstation -l DEBUG +# Also please note that postfix will be added to user supplied tag for identifying CPU architecture and GPU type etc. +monai-deploy package examples/apps/simple_imaging_app -c examples/apps/simple_imaging_app/app.yaml -t simple_app:latest --platform x64-workstation -l DEBUG # Run the app with docker image and an input file locally ## Copy a test input file to 'input' folder mkdir -p input && rm -rf input/* -cp examples/apps/simple_imaging_app/brain_mr_input.jpg input/ +cp examples/apps/simple_imaging_app/input/brain_mr_input.jpg input/ ## Launch the app monai-deploy run simple_app-x64-workstation-dgpu-linux-amd64:latest -i input -o output ``` diff --git a/notebooks/tutorials/01_simple_app.ipynb b/notebooks/tutorials/01_simple_app.ipynb index d5f1dbf3..8da2f1c1 100644 --- a/notebooks/tutorials/01_simple_app.ipynb +++ b/notebooks/tutorials/01_simple_app.ipynb @@ -96,14 +96,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "/tmp/ipykernel_2020944/2727006292.py:16: FutureWarning: `imshow` is deprecated since version 0.25 and will be removed in version 0.27. Please use `matplotlib`, `napari`, etc. to visualize images.\n", + "/tmp/ipykernel_58609/2727006292.py:16: FutureWarning: `imshow` is deprecated since version 0.25 and will be removed in version 0.27. Please use `matplotlib`, `napari`, etc. to visualize images.\n", " io.imshow(test_image)\n" ] }, { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -146,7 +146,7 @@ "metadata": {}, "source": [ "### Set up environment variables\n", - "The application uses well-known enviornment variables for the input/output data path, working dir, as well as AI model file path if applicable. Defaults are used if these environment variable are absent.\n", + "The application uses well-known environment variables for the input/output data path, working dir, as well as AI model file path if applicable. Defaults are used if these environment variable are absent.\n", "\n", "In this example, only the input data path and output path need to be set." ] @@ -354,7 +354,7 @@ " single input:\n", " an image array object\n", " single output:\n", - " an image arrary object, without enforcing a downsteam receiver\n", + " an image array object, without enforcing a downstream receiver\n", "\n", " Besides, this operator also saves the image file in the given output folder.\n", " \"\"\"\n", @@ -472,10 +472,10 @@ " output_data_path = Path(app_context.output_path)\n", " print(f\"sample_data_path: {sample_data_path}\")\n", "\n", - " # Please note that the Application object, self, is passed as the first positonal argument\n", + " # Please note that the Application object, self, is passed as the first positional argument\n", " # and the others as kwargs.\n", " # Also note the CountCondition of 1 on the first operator, indicating to the application executor\n", - " # to invoke this operator, hence the pipleline, only once.\n", + " # to invoke this operator, hence the pipeline, only once.\n", " sobel_op = SobelOperator(self, CountCondition(self, 1), input_path=sample_data_path, name=\"sobel_op\")\n", " median_op = MedianOperator(self, name=\"median_op\")\n", " gaussian_op = GaussianOperator(self, output_folder=output_data_path, name=\"gaussian_op\")\n", @@ -522,28 +522,30 @@ "name": "stderr", "output_type": "stream", "text": [ - "[info] [fragment.cpp:588] Loading extensions from configs...\n", - "[2025-01-16 10:20:47,518] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=[])\n", - "[2025-01-16 10:20:47,531] [INFO] (root) - AppContext object: AppContext(input_path=/tmp/simple_app/normal-brain-mri-4.png, output_path=output, model_path=models, workdir=)\n" + "[info] [fragment.cpp:599] Loading extensions from configs...\n", + "[2025-01-29 12:08:18,760] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=[])\n", + "[2025-01-29 12:08:18,775] [INFO] (root) - AppContext object: AppContext(input_path=/tmp/simple_app/normal-brain-mri-4.png, output_path=output, model_path=models, workdir=)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "sample_data_path: /tmp/simple_app/normal-brain-mri-4.png\n" + "sample_data_path: /tmp/simple_app/normal-brain-mri-4.png\n", + "Number of times operator sobel_op whose class is defined in __main__ called: 1\n", + "Input from: /tmp/simple_app/normal-brain-mri-4.png, whose absolute path: /tmp/simple_app/normal-brain-mri-4.png\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "[info] [gxf_executor.cpp:262] Creating context\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'in1'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'in1'\n", - "[info] [gxf_executor.cpp:2178] Activating Graph...\n", - "[info] [gxf_executor.cpp:2208] Running Graph...\n", - "[info] [gxf_executor.cpp:2210] Waiting for completion...\n", + "[info] [gxf_executor.cpp:264] Creating context\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'in1'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'in1'\n", + "[info] [gxf_executor.cpp:2208] Activating Graph...\n", + "[info] [gxf_executor.cpp:2238] Running Graph...\n", + "[info] [gxf_executor.cpp:2240] Waiting for completion...\n", "[info] [greedy_scheduler.cpp:191] Scheduling 3 entities\n" ] }, @@ -551,8 +553,6 @@ "name": "stdout", "output_type": "stream", "text": [ - "Number of times operator sobel_op whose class is defined in __main__ called: 1\n", - "Input from: /tmp/simple_app/normal-brain-mri-4.png, whose absolute path: /tmp/simple_app/normal-brain-mri-4.png\n", "Number of times operator median_op whose class is defined in __main__ called: 1\n", "Number of times operator gaussian_op whose class is defined in __main__ called: 1\n", "Data type of output: , max = 0.35821119421406195\n", @@ -565,9 +565,9 @@ "text": [ "[info] [greedy_scheduler.cpp:372] Scheduler stopped: Some entities are waiting for execution, but there are no periodic or async entities to get out of the deadlock.\n", "[info] [greedy_scheduler.cpp:401] Scheduler finished.\n", - "[info] [gxf_executor.cpp:2213] Deactivating Graph...\n", - "[info] [gxf_executor.cpp:2221] Graph execution finished.\n", - "[info] [gxf_executor.cpp:292] Destroying context\n" + "[info] [gxf_executor.cpp:2243] Deactivating Graph...\n", + "[info] [gxf_executor.cpp:2251] Graph execution finished.\n", + "[info] [gxf_executor.cpp:294] Destroying context\n" ] } ], @@ -602,14 +602,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "/tmp/ipykernel_2020944/1643627018.py:3: FutureWarning: `imshow` is deprecated since version 0.25 and will be removed in version 0.27. Please use `matplotlib`, `napari`, etc. to visualize images.\n", + "/tmp/ipykernel_58609/1643627018.py:3: FutureWarning: `imshow` is deprecated since version 0.25 and will be removed in version 0.27. Please use `matplotlib`, `napari`, etc. to visualize images.\n", " io.imshow(output_image)\n" ] }, { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 11, @@ -684,7 +684,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Overwriting simple_imaging_app/sobel_operator.py\n" + "Writing simple_imaging_app/sobel_operator.py\n" ] } ], @@ -764,7 +764,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Overwriting simple_imaging_app/median_operator.py\n" + "Writing simple_imaging_app/median_operator.py\n" ] } ], @@ -826,7 +826,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Overwriting simple_imaging_app/gaussian_operator.py\n" + "Writing simple_imaging_app/gaussian_operator.py\n" ] } ], @@ -846,7 +846,7 @@ " single input:\n", " an image array object\n", " single output:\n", - " an image arrary object, without enforcing a downsteam receiver\n", + " an image array object, without enforcing a downstream receiver\n", "\n", " Besides, this operator also saves the image file in the given output folder.\n", " \"\"\"\n", @@ -922,7 +922,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Overwriting simple_imaging_app/app.py\n" + "Writing simple_imaging_app/app.py\n" ] } ], @@ -966,10 +966,10 @@ " output_data_path = Path(app_context.output_path)\n", " logging.info(f\"sample_data_path: {sample_data_path}\")\n", "\n", - " # Please note that the Application object, self, is passed as the first positonal argument\n", + " # Please note that the Application object, self, is passed as the first positional argument\n", " # and the others as kwargs.\n", " # Also note the CountCondition of 1 on the first operator, indicating to the application executor\n", - " # to invoke this operator, hence the pipleline, only once.\n", + " # to invoke this operator, hence the pipeline, only once.\n", " sobel_op = SobelOperator(self, CountCondition(self, 1), input_path=sample_data_path, name=\"sobel_op\")\n", " median_op = MedianOperator(self, name=\"median_op\")\n", " gaussian_op = GaussianOperator(self, output_folder=output_data_path, name=\"gaussian_op\")\n", @@ -1024,7 +1024,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Overwriting simple_imaging_app/__main__.py\n" + "Writing simple_imaging_app/__main__.py\n" ] } ], @@ -1045,8 +1045,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "app.py\t gaussian_operator.py\tmedian_operator.py requirements.txt\n", - "app.yaml __main__.py\t\t__pycache__\t sobel_operator.py\n" + "app.py\t\t __main__.py\t sobel_operator.py\n", + "gaussian_operator.py median_operator.py\n" ] } ], @@ -1075,87 +1075,87 @@ "name": "stdout", "output_type": "stream", "text": [ - "[\u001b[32minfo\u001b[m] [fragment.cpp:588] Loading extensions from configs...\n", - "[2025-01-16 10:20:53,264] [INFO] (root) - Parsed args: Namespace(log_level='DEBUG', input=PosixPath('/tmp/simple_app'), output=PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output'), model=None, workdir=None, argv=['simple_imaging_app', '-i', '/tmp/simple_app', '-o', 'output', '-l', 'DEBUG'])\n", - "[2025-01-16 10:20:53,266] [INFO] (root) - AppContext object: AppContext(input_path=/tmp/simple_app, output_path=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output, model_path=models, workdir=)\n", - "[2025-01-16 10:20:53,266] [INFO] (root) - sample_data_path: /tmp/simple_app\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:262] Creating context\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'in1'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'in1'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2178] Activating Graph...\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2208] Running Graph...\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2210] Waiting for completion...\n", + "[\u001b[32minfo\u001b[m] [fragment.cpp:599] Loading extensions from configs...\n", + "[2025-01-29 12:08:26,105] [INFO] (root) - Parsed args: Namespace(log_level='DEBUG', input=PosixPath('/tmp/simple_app'), output=PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output'), model=None, workdir=None, argv=['simple_imaging_app', '-i', '/tmp/simple_app', '-o', 'output', '-l', 'DEBUG'])\n", + "[2025-01-29 12:08:26,111] [INFO] (root) - AppContext object: AppContext(input_path=/tmp/simple_app, output_path=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output, model_path=models, workdir=)\n", + "[2025-01-29 12:08:26,111] [INFO] (root) - sample_data_path: /tmp/simple_app\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:264] Creating context\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'in1'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'in1'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2208] Activating Graph...\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2238] Running Graph...\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2240] Waiting for completion...\n", "[\u001b[32minfo\u001b[m] [greedy_scheduler.cpp:191] Scheduling 3 entities\n", "Number of times operator sobel_op whose class is defined in sobel_operator called: 1\n", "Input from: /tmp/simple_app, whose absolute path: /tmp/simple_app\n", - "[2025-01-16 10:20:53,288] [DEBUG] (PIL.PngImagePlugin) - STREAM b'IHDR' 16 13\n", - "[2025-01-16 10:20:53,288] [DEBUG] (PIL.PngImagePlugin) - STREAM b'sRGB' 41 1\n", - "[2025-01-16 10:20:53,288] [DEBUG] (PIL.PngImagePlugin) - STREAM b'gAMA' 54 4\n", - "[2025-01-16 10:20:53,288] [DEBUG] (PIL.PngImagePlugin) - STREAM b'pHYs' 70 9\n", - "[2025-01-16 10:20:53,288] [DEBUG] (PIL.PngImagePlugin) - STREAM b'IDAT' 91 65445\n", - "[2025-01-16 10:20:53,289] [DEBUG] (PIL.PngImagePlugin) - STREAM b'IHDR' 16 13\n", - "[2025-01-16 10:20:53,289] [DEBUG] (PIL.PngImagePlugin) - STREAM b'sRGB' 41 1\n", - "[2025-01-16 10:20:53,289] [DEBUG] (PIL.PngImagePlugin) - STREAM b'gAMA' 54 4\n", - "[2025-01-16 10:20:53,289] [DEBUG] (PIL.PngImagePlugin) - STREAM b'pHYs' 70 9\n", - "[2025-01-16 10:20:53,289] [DEBUG] (PIL.PngImagePlugin) - STREAM b'IDAT' 91 65445\n", - "[2025-01-16 10:20:53,293] [DEBUG] (PIL.Image) - Error closing: Operation on closed image\n", + "[2025-01-29 12:08:26,144] [DEBUG] (PIL.PngImagePlugin) - STREAM b'IHDR' 16 13\n", + "[2025-01-29 12:08:26,144] [DEBUG] (PIL.PngImagePlugin) - STREAM b'sRGB' 41 1\n", + "[2025-01-29 12:08:26,144] [DEBUG] (PIL.PngImagePlugin) - STREAM b'gAMA' 54 4\n", + "[2025-01-29 12:08:26,144] [DEBUG] (PIL.PngImagePlugin) - STREAM b'pHYs' 70 9\n", + "[2025-01-29 12:08:26,144] [DEBUG] (PIL.PngImagePlugin) - STREAM b'IDAT' 91 65445\n", + "[2025-01-29 12:08:26,144] [DEBUG] (PIL.PngImagePlugin) - STREAM b'IHDR' 16 13\n", + "[2025-01-29 12:08:26,144] [DEBUG] (PIL.PngImagePlugin) - STREAM b'sRGB' 41 1\n", + "[2025-01-29 12:08:26,144] [DEBUG] (PIL.PngImagePlugin) - STREAM b'gAMA' 54 4\n", + "[2025-01-29 12:08:26,144] [DEBUG] (PIL.PngImagePlugin) - STREAM b'pHYs' 70 9\n", + "[2025-01-29 12:08:26,144] [DEBUG] (PIL.PngImagePlugin) - STREAM b'IDAT' 91 65445\n", + "[2025-01-29 12:08:26,149] [DEBUG] (PIL.Image) - Error closing: Operation on closed image\n", "Number of times operator median_op whose class is defined in median_operator called: 1\n", "Number of times operator gaussian_op whose class is defined in gaussian_operator called: 1\n", "Data type of output: , max = 0.35821119421406195\n", "Data type of output post conversion: , max = 91\n", - "[2025-01-16 10:20:53,538] [DEBUG] (PIL.Image) - Importing BlpImagePlugin\n", - "[2025-01-16 10:20:53,540] [DEBUG] (PIL.Image) - Importing BmpImagePlugin\n", - "[2025-01-16 10:20:53,540] [DEBUG] (PIL.Image) - Importing BufrStubImagePlugin\n", - "[2025-01-16 10:20:53,540] [DEBUG] (PIL.Image) - Importing CurImagePlugin\n", - "[2025-01-16 10:20:53,540] [DEBUG] (PIL.Image) - Importing DcxImagePlugin\n", - "[2025-01-16 10:20:53,541] [DEBUG] (PIL.Image) - Importing DdsImagePlugin\n", - "[2025-01-16 10:20:53,543] [DEBUG] (PIL.Image) - Importing EpsImagePlugin\n", - "[2025-01-16 10:20:53,544] [DEBUG] (PIL.Image) - Importing FitsImagePlugin\n", - "[2025-01-16 10:20:53,544] [DEBUG] (PIL.Image) - Importing FliImagePlugin\n", - "[2025-01-16 10:20:53,544] [DEBUG] (PIL.Image) - Importing FpxImagePlugin\n", - "[2025-01-16 10:20:53,545] [DEBUG] (PIL.Image) - Image: failed to import FpxImagePlugin: No module named 'olefile'\n", - "[2025-01-16 10:20:53,545] [DEBUG] (PIL.Image) - Importing FtexImagePlugin\n", - "[2025-01-16 10:20:53,545] [DEBUG] (PIL.Image) - Importing GbrImagePlugin\n", - "[2025-01-16 10:20:53,545] [DEBUG] (PIL.Image) - Importing GifImagePlugin\n", - "[2025-01-16 10:20:53,545] [DEBUG] (PIL.Image) - Importing GribStubImagePlugin\n", - "[2025-01-16 10:20:53,545] [DEBUG] (PIL.Image) - Importing Hdf5StubImagePlugin\n", - "[2025-01-16 10:20:53,546] [DEBUG] (PIL.Image) - Importing IcnsImagePlugin\n", - "[2025-01-16 10:20:53,546] [DEBUG] (PIL.Image) - Importing IcoImagePlugin\n", - "[2025-01-16 10:20:53,547] [DEBUG] (PIL.Image) - Importing ImImagePlugin\n", - "[2025-01-16 10:20:53,547] [DEBUG] (PIL.Image) - Importing ImtImagePlugin\n", - "[2025-01-16 10:20:53,547] [DEBUG] (PIL.Image) - Importing IptcImagePlugin\n", - "[2025-01-16 10:20:53,548] [DEBUG] (PIL.Image) - Importing JpegImagePlugin\n", - "[2025-01-16 10:20:53,548] [DEBUG] (PIL.Image) - Importing Jpeg2KImagePlugin\n", - "[2025-01-16 10:20:53,548] [DEBUG] (PIL.Image) - Importing McIdasImagePlugin\n", - "[2025-01-16 10:20:53,548] [DEBUG] (PIL.Image) - Importing MicImagePlugin\n", - "[2025-01-16 10:20:53,548] [DEBUG] (PIL.Image) - Image: failed to import MicImagePlugin: No module named 'olefile'\n", - "[2025-01-16 10:20:53,548] [DEBUG] (PIL.Image) - Importing MpegImagePlugin\n", - "[2025-01-16 10:20:53,548] [DEBUG] (PIL.Image) - Importing MpoImagePlugin\n", - "[2025-01-16 10:20:53,549] [DEBUG] (PIL.Image) - Importing MspImagePlugin\n", - "[2025-01-16 10:20:53,550] [DEBUG] (PIL.Image) - Importing PalmImagePlugin\n", - "[2025-01-16 10:20:53,550] [DEBUG] (PIL.Image) - Importing PcdImagePlugin\n", - "[2025-01-16 10:20:53,550] [DEBUG] (PIL.Image) - Importing PcxImagePlugin\n", - "[2025-01-16 10:20:53,550] [DEBUG] (PIL.Image) - Importing PdfImagePlugin\n", - "[2025-01-16 10:20:53,555] [DEBUG] (PIL.Image) - Importing PixarImagePlugin\n", - "[2025-01-16 10:20:53,555] [DEBUG] (PIL.Image) - Importing PngImagePlugin\n", - "[2025-01-16 10:20:53,555] [DEBUG] (PIL.Image) - Importing PpmImagePlugin\n", - "[2025-01-16 10:20:53,555] [DEBUG] (PIL.Image) - Importing PsdImagePlugin\n", - "[2025-01-16 10:20:53,555] [DEBUG] (PIL.Image) - Importing QoiImagePlugin\n", - "[2025-01-16 10:20:53,556] [DEBUG] (PIL.Image) - Importing SgiImagePlugin\n", - "[2025-01-16 10:20:53,556] [DEBUG] (PIL.Image) - Importing SpiderImagePlugin\n", - "[2025-01-16 10:20:53,556] [DEBUG] (PIL.Image) - Importing SunImagePlugin\n", - "[2025-01-16 10:20:53,556] [DEBUG] (PIL.Image) - Importing TgaImagePlugin\n", - "[2025-01-16 10:20:53,556] [DEBUG] (PIL.Image) - Importing TiffImagePlugin\n", - "[2025-01-16 10:20:53,556] [DEBUG] (PIL.Image) - Importing WebPImagePlugin\n", - "[2025-01-16 10:20:53,558] [DEBUG] (PIL.Image) - Importing WmfImagePlugin\n", - "[2025-01-16 10:20:53,558] [DEBUG] (PIL.Image) - Importing XbmImagePlugin\n", - "[2025-01-16 10:20:53,558] [DEBUG] (PIL.Image) - Importing XpmImagePlugin\n", - "[2025-01-16 10:20:53,559] [DEBUG] (PIL.Image) - Importing XVThumbImagePlugin\n", + "[2025-01-29 12:08:26,378] [DEBUG] (PIL.Image) - Importing BlpImagePlugin\n", + "[2025-01-29 12:08:26,379] [DEBUG] (PIL.Image) - Importing BmpImagePlugin\n", + "[2025-01-29 12:08:26,379] [DEBUG] (PIL.Image) - Importing BufrStubImagePlugin\n", + "[2025-01-29 12:08:26,379] [DEBUG] (PIL.Image) - Importing CurImagePlugin\n", + "[2025-01-29 12:08:26,380] [DEBUG] (PIL.Image) - Importing DcxImagePlugin\n", + "[2025-01-29 12:08:26,380] [DEBUG] (PIL.Image) - Importing DdsImagePlugin\n", + "[2025-01-29 12:08:26,384] [DEBUG] (PIL.Image) - Importing EpsImagePlugin\n", + "[2025-01-29 12:08:26,384] [DEBUG] (PIL.Image) - Importing FitsImagePlugin\n", + "[2025-01-29 12:08:26,384] [DEBUG] (PIL.Image) - Importing FliImagePlugin\n", + "[2025-01-29 12:08:26,385] [DEBUG] (PIL.Image) - Importing FpxImagePlugin\n", + "[2025-01-29 12:08:26,385] [DEBUG] (PIL.Image) - Image: failed to import FpxImagePlugin: No module named 'olefile'\n", + "[2025-01-29 12:08:26,385] [DEBUG] (PIL.Image) - Importing FtexImagePlugin\n", + "[2025-01-29 12:08:26,386] [DEBUG] (PIL.Image) - Importing GbrImagePlugin\n", + "[2025-01-29 12:08:26,386] [DEBUG] (PIL.Image) - Importing GifImagePlugin\n", + "[2025-01-29 12:08:26,386] [DEBUG] (PIL.Image) - Importing GribStubImagePlugin\n", + "[2025-01-29 12:08:26,386] [DEBUG] (PIL.Image) - Importing Hdf5StubImagePlugin\n", + "[2025-01-29 12:08:26,386] [DEBUG] (PIL.Image) - Importing IcnsImagePlugin\n", + "[2025-01-29 12:08:26,387] [DEBUG] (PIL.Image) - Importing IcoImagePlugin\n", + "[2025-01-29 12:08:26,387] [DEBUG] (PIL.Image) - Importing ImImagePlugin\n", + "[2025-01-29 12:08:26,388] [DEBUG] (PIL.Image) - Importing ImtImagePlugin\n", + "[2025-01-29 12:08:26,388] [DEBUG] (PIL.Image) - Importing IptcImagePlugin\n", + "[2025-01-29 12:08:26,389] [DEBUG] (PIL.Image) - Importing JpegImagePlugin\n", + "[2025-01-29 12:08:26,389] [DEBUG] (PIL.Image) - Importing Jpeg2KImagePlugin\n", + "[2025-01-29 12:08:26,389] [DEBUG] (PIL.Image) - Importing McIdasImagePlugin\n", + "[2025-01-29 12:08:26,389] [DEBUG] (PIL.Image) - Importing MicImagePlugin\n", + "[2025-01-29 12:08:26,389] [DEBUG] (PIL.Image) - Image: failed to import MicImagePlugin: No module named 'olefile'\n", + "[2025-01-29 12:08:26,389] [DEBUG] (PIL.Image) - Importing MpegImagePlugin\n", + "[2025-01-29 12:08:26,390] [DEBUG] (PIL.Image) - Importing MpoImagePlugin\n", + "[2025-01-29 12:08:26,391] [DEBUG] (PIL.Image) - Importing MspImagePlugin\n", + "[2025-01-29 12:08:26,391] [DEBUG] (PIL.Image) - Importing PalmImagePlugin\n", + "[2025-01-29 12:08:26,392] [DEBUG] (PIL.Image) - Importing PcdImagePlugin\n", + "[2025-01-29 12:08:26,392] [DEBUG] (PIL.Image) - Importing PcxImagePlugin\n", + "[2025-01-29 12:08:26,392] [DEBUG] (PIL.Image) - Importing PdfImagePlugin\n", + "[2025-01-29 12:08:26,397] [DEBUG] (PIL.Image) - Importing PixarImagePlugin\n", + "[2025-01-29 12:08:26,397] [DEBUG] (PIL.Image) - Importing PngImagePlugin\n", + "[2025-01-29 12:08:26,398] [DEBUG] (PIL.Image) - Importing PpmImagePlugin\n", + "[2025-01-29 12:08:26,398] [DEBUG] (PIL.Image) - Importing PsdImagePlugin\n", + "[2025-01-29 12:08:26,398] [DEBUG] (PIL.Image) - Importing QoiImagePlugin\n", + "[2025-01-29 12:08:26,398] [DEBUG] (PIL.Image) - Importing SgiImagePlugin\n", + "[2025-01-29 12:08:26,398] [DEBUG] (PIL.Image) - Importing SpiderImagePlugin\n", + "[2025-01-29 12:08:26,399] [DEBUG] (PIL.Image) - Importing SunImagePlugin\n", + "[2025-01-29 12:08:26,399] [DEBUG] (PIL.Image) - Importing TgaImagePlugin\n", + "[2025-01-29 12:08:26,399] [DEBUG] (PIL.Image) - Importing TiffImagePlugin\n", + "[2025-01-29 12:08:26,399] [DEBUG] (PIL.Image) - Importing WebPImagePlugin\n", + "[2025-01-29 12:08:26,401] [DEBUG] (PIL.Image) - Importing WmfImagePlugin\n", + "[2025-01-29 12:08:26,401] [DEBUG] (PIL.Image) - Importing XbmImagePlugin\n", + "[2025-01-29 12:08:26,402] [DEBUG] (PIL.Image) - Importing XpmImagePlugin\n", + "[2025-01-29 12:08:26,402] [DEBUG] (PIL.Image) - Importing XVThumbImagePlugin\n", "[\u001b[32minfo\u001b[m] [greedy_scheduler.cpp:372] Scheduler stopped: Some entities are waiting for execution, but there are no periodic or async entities to get out of the deadlock.\n", "[\u001b[32minfo\u001b[m] [greedy_scheduler.cpp:401] Scheduler finished.\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2213] Deactivating Graph...\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2221] Graph execution finished.\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:292] Destroying context\n" + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2243] Deactivating Graph...\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2251] Graph execution finished.\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:294] Destroying context\n" ] } ], @@ -1173,14 +1173,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "/tmp/ipykernel_2020944/3197869135.py:3: FutureWarning: `imshow` is deprecated since version 0.25 and will be removed in version 0.27. Please use `matplotlib`, `napari`, etc. to visualize images.\n", + "/tmp/ipykernel_58609/3197869135.py:3: FutureWarning: `imshow` is deprecated since version 0.25 and will be removed in version 0.27. Please use `matplotlib`, `napari`, etc. to visualize images.\n", " io.imshow(output_image)\n" ] }, { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 20, @@ -1238,7 +1238,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Overwriting simple_imaging_app/app.yaml\n" + "Writing simple_imaging_app/app.yaml\n" ] } ], @@ -1268,7 +1268,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Overwriting simple_imaging_app/requirements.txt\n" + "Writing simple_imaging_app/requirements.txt\n" ] } ], @@ -1276,7 +1276,7 @@ "%%writefile simple_imaging_app/requirements.txt\n", "scikit-image\n", "setuptools>=59.5.0 # for pkg_resources\n", - "holoscan==2.6.0 # avoid v2.7 and v2.8 for a known issue\n" + "holoscan>=2.9.0 # avoid v2.7 and v2.8 for a known issue\n" ] }, { @@ -1295,14 +1295,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "[2025-01-16 10:20:55,653] [INFO] (common) - Downloading CLI manifest file...\n", - "[2025-01-16 10:20:56,166] [DEBUG] (common) - Validating CLI manifest file...\n", - "[2025-01-16 10:20:56,167] [INFO] (packager.parameters) - Application: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/simple_imaging_app\n", - "[2025-01-16 10:20:56,167] [INFO] (packager.parameters) - Detected application type: Python Module\n", - "[2025-01-16 10:20:56,167] [INFO] (packager) - Reading application configuration from /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/simple_imaging_app/app.yaml...\n", - "[2025-01-16 10:20:56,172] [INFO] (packager) - Generating app.json...\n", - "[2025-01-16 10:20:56,173] [INFO] (packager) - Generating pkg.json...\n", - "[2025-01-16 10:20:56,176] [DEBUG] (common) - \n", + "[2025-01-29 12:08:28,758] [INFO] (common) - Downloading CLI manifest file...\n", + "[2025-01-29 12:08:29,206] [DEBUG] (common) - Validating CLI manifest file...\n", + "[2025-01-29 12:08:29,206] [INFO] (packager.parameters) - Application: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/simple_imaging_app\n", + "[2025-01-29 12:08:29,207] [INFO] (packager.parameters) - Detected application type: Python Module\n", + "[2025-01-29 12:08:29,207] [INFO] (packager) - Reading application configuration from /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/simple_imaging_app/app.yaml...\n", + "[2025-01-29 12:08:29,212] [INFO] (packager) - Generating app.json...\n", + "[2025-01-29 12:08:29,213] [INFO] (packager) - Generating pkg.json...\n", + "[2025-01-29 12:08:29,217] [DEBUG] (common) - \n", "=============== Begin app.json ===============\n", "{\n", " \"apiVersion\": \"1.0.0\",\n", @@ -1337,7 +1337,7 @@ "}\n", "================ End app.json ================\n", " \n", - "[2025-01-16 10:20:56,177] [DEBUG] (common) - \n", + "[2025-01-29 12:08:29,218] [DEBUG] (common) - \n", "=============== Begin pkg.json ===============\n", "{\n", " \"apiVersion\": \"1.0.0\",\n", @@ -1355,7 +1355,7 @@ "}\n", "================ End pkg.json ================\n", " \n", - "[2025-01-16 10:20:56,185] [DEBUG] (packager.builder) - \n", + "[2025-01-29 12:08:29,222] [DEBUG] (packager.builder) - \n", "========== Begin Build Parameters ==========\n", "{'additional_lib_paths': '',\n", " 'app_config_file_path': PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/simple_imaging_app/app.yaml'),\n", @@ -1373,7 +1373,7 @@ " 'full_input_path': PosixPath('/var/holoscan/input'),\n", " 'full_output_path': PosixPath('/var/holoscan/output'),\n", " 'gid': 1000,\n", - " 'holoscan_sdk_version': '2.8.0',\n", + " 'holoscan_sdk_version': '2.9.0',\n", " 'includes': [],\n", " 'input_dir': 'input/',\n", " 'lib_dir': PosixPath('/opt/holoscan/lib'),\n", @@ -1396,7 +1396,7 @@ " 'working_dir': PosixPath('/var/holoscan')}\n", "=========== End Build Parameters ===========\n", "\n", - "[2025-01-16 10:20:56,185] [DEBUG] (packager.builder) - \n", + "[2025-01-29 12:08:29,222] [DEBUG] (packager.builder) - \n", "========== Begin Platform Parameters ==========\n", "{'base_image': 'nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04',\n", " 'build_image': None,\n", @@ -1406,15 +1406,15 @@ " 'custom_monai_deploy_sdk': False,\n", " 'gpu_type': 'dgpu',\n", " 'holoscan_deb_arch': 'amd64',\n", - " 'holoscan_sdk_file': '2.8.0',\n", - " 'holoscan_sdk_filename': '2.8.0',\n", + " 'holoscan_sdk_file': '2.9.0',\n", + " 'holoscan_sdk_filename': '2.9.0',\n", " 'monai_deploy_sdk_file': None,\n", " 'monai_deploy_sdk_filename': None,\n", " 'tag': 'simple_imaging_app:1.0',\n", " 'target_arch': 'x86_64'}\n", "=========== End Platform Parameters ===========\n", "\n", - "[2025-01-16 10:20:56,213] [DEBUG] (packager.builder) - \n", + "[2025-01-29 12:08:29,246] [DEBUG] (packager.builder) - \n", "========== Begin Dockerfile ==========\n", "\n", "ARG GPU_TYPE=dgpu\n", @@ -1478,7 +1478,7 @@ "LABEL tag=\"simple_imaging_app:1.0\"\n", "LABEL org.opencontainers.image.title=\"MONAI Deploy App Package - Simple Imaging App\"\n", "LABEL org.opencontainers.image.version=\"1.0\"\n", - "LABEL org.nvidia.holoscan=\"2.8.0\"\n", + "LABEL org.nvidia.holoscan=\"2.9.0\"\n", "\n", "LABEL org.monai.deploy.app-sdk=\"2.0.0\"\n", "\n", @@ -1493,7 +1493,7 @@ "ENV HOLOSCAN_APP_MANIFEST_PATH=/etc/holoscan/app.json\n", "ENV HOLOSCAN_PKG_MANIFEST_PATH=/etc/holoscan/pkg.json\n", "ENV HOLOSCAN_LOGS_PATH=/var/holoscan/logs\n", - "ENV HOLOSCAN_VERSION=2.8.0\n", + "ENV HOLOSCAN_VERSION=2.9.0\n", "\n", "\n", "\n", @@ -1567,7 +1567,7 @@ "ENTRYPOINT [\"/var/holoscan/tools\"]\n", "=========== End Dockerfile ===========\n", "\n", - "[2025-01-16 10:20:56,214] [INFO] (packager.builder) - \n", + "[2025-01-29 12:08:29,246] [INFO] (packager.builder) - \n", "===============================================================================\n", "Building image for: x64-workstation\n", " Architecture: linux/amd64\n", @@ -1575,20 +1575,19 @@ " Build Image: N/A\n", " Cache: Enabled\n", " Configuration: dgpu\n", - " Holoscan SDK Package: 2.8.0\n", + " Holoscan SDK Package: 2.9.0\n", " MONAI Deploy App SDK Package: N/A\n", " gRPC Health Probe: N/A\n", - " SDK Version: 2.8.0\n", + " SDK Version: 2.9.0\n", " SDK: monai-deploy\n", " Tag: simple_imaging_app-x64-workstation-dgpu-linux-amd64:1.0\n", " Included features/dependencies: N/A\n", " \n", - "[2025-01-16 10:20:57,613] [INFO] (common) - Using existing Docker BuildKit builder `holoscan_app_builder`\n", - "[2025-01-16 10:20:57,614] [DEBUG] (packager.builder) - Building Holoscan Application Package: tag=simple_imaging_app-x64-workstation-dgpu-linux-amd64:1.0\n", + "[2025-01-29 12:08:29,559] [INFO] (common) - Using existing Docker BuildKit builder `holoscan_app_builder`\n", + "[2025-01-29 12:08:29,559] [DEBUG] (packager.builder) - Building Holoscan Application Package: tag=simple_imaging_app-x64-workstation-dgpu-linux-amd64:1.0\n", "#0 building with \"holoscan_app_builder\" instance using docker-container driver\n", "\n", "#1 [internal] load build definition from Dockerfile\n", - "#1 transferring dockerfile: 30B\n", "#1 transferring dockerfile: 4.53kB done\n", "#1 DONE 0.1s\n", "\n", @@ -1599,235 +1598,214 @@ "#3 DONE 0.5s\n", "\n", "#4 [internal] load .dockerignore\n", - "#4 transferring context: 1.79kB done\n", + "#4 transferring context: 1.80kB done\n", "#4 DONE 0.1s\n", "\n", - "#5 importing cache manifest from local:4071450130461523494\n", - "#5 inferred cache manifest type: application/vnd.oci.image.index.v1+json done\n", + "#5 [internal] load build context\n", "#5 DONE 0.0s\n", "\n", - "#6 [internal] load build context\n", + "#6 [base 1/2] FROM nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04@sha256:22fc009e5cea0b8b91d94c99fdd419d2366810b5ea835e47b8343bc15800c186\n", + "#6 resolve nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04@sha256:22fc009e5cea0b8b91d94c99fdd419d2366810b5ea835e47b8343bc15800c186 0.0s done\n", "#6 DONE 0.0s\n", "\n", - "#7 [base 1/2] FROM nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04@sha256:22fc009e5cea0b8b91d94c99fdd419d2366810b5ea835e47b8343bc15800c186\n", - "#7 resolve nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04@sha256:22fc009e5cea0b8b91d94c99fdd419d2366810b5ea835e47b8343bc15800c186 0.0s done\n", - "#7 DONE 0.1s\n", + "#7 importing cache manifest from local:930277721408013411\n", + "#7 inferred cache manifest type: application/vnd.oci.image.index.v1+json done\n", + "#7 DONE 0.0s\n", "\n", "#8 importing cache manifest from nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", "#8 inferred cache manifest type: application/vnd.docker.distribution.manifest.list.v2+json done\n", - "#8 DONE 0.9s\n", + "#8 DONE 0.7s\n", "\n", - "#6 [internal] load build context\n", - "#6 transferring context: 24.94kB 0.0s done\n", - "#6 DONE 0.1s\n", + "#5 [internal] load build context\n", + "#5 transferring context: 24.94kB 0.0s done\n", + "#5 DONE 0.1s\n", "\n", - "#9 [release 6/17] WORKDIR /var/holoscan\n", + "#9 [release 7/17] COPY ./tools /var/holoscan/tools\n", "#9 CACHED\n", "\n", - "#10 [base 2/2] RUN apt-get update && apt-get install -y --no-install-recommends --no-install-suggests curl jq && rm -rf /var/lib/apt/lists/*\n", + "#10 [release 5/17] RUN chown -R holoscan /var/holoscan && chown -R holoscan /var/holoscan/input && chown -R holoscan /var/holoscan/output\n", "#10 CACHED\n", "\n", - "#11 [release 3/17] RUN groupadd -f -g 1000 holoscan\n", + "#11 [release 6/17] WORKDIR /var/holoscan\n", "#11 CACHED\n", "\n", "#12 [release 2/17] RUN apt update && apt-get install -y --no-install-recommends --no-install-suggests python3-minimal=3.10.6-1~22.04 libpython3-stdlib=3.10.6-1~22.04 python3=3.10.6-1~22.04 python3-venv=3.10.6-1~22.04 python3-pip=22.0.2+dfsg-* && rm -rf /var/lib/apt/lists/*\n", "#12 CACHED\n", "\n", - "#13 [release 4/17] RUN useradd -rm -d /home/holoscan -s /bin/bash -g 1000 -G sudo -u 1000 holoscan\n", + "#13 [release 3/17] RUN groupadd -f -g 1000 holoscan\n", "#13 CACHED\n", "\n", - "#14 [release 5/17] RUN chown -R holoscan /var/holoscan && chown -R holoscan /var/holoscan/input && chown -R holoscan /var/holoscan/output\n", + "#14 [base 2/2] RUN apt-get update && apt-get install -y --no-install-recommends --no-install-suggests curl jq && rm -rf /var/lib/apt/lists/*\n", "#14 CACHED\n", "\n", - "#15 [release 8/17] RUN chmod +x /var/holoscan/tools\n", + "#15 [release 4/17] RUN useradd -rm -d /home/holoscan -s /bin/bash -g 1000 -G sudo -u 1000 holoscan\n", "#15 CACHED\n", "\n", - "#16 [release 1/17] RUN mkdir -p /etc/holoscan/ && mkdir -p /opt/holoscan/ && mkdir -p /var/holoscan && mkdir -p /opt/holoscan/app && mkdir -p /var/holoscan/input && mkdir -p /var/holoscan/output\n", + "#16 [release 8/17] RUN chmod +x /var/holoscan/tools\n", "#16 CACHED\n", "\n", - "#17 [release 7/17] COPY ./tools /var/holoscan/tools\n", + "#17 [release 1/17] RUN mkdir -p /etc/holoscan/ && mkdir -p /opt/holoscan/ && mkdir -p /var/holoscan && mkdir -p /opt/holoscan/app && mkdir -p /var/holoscan/input && mkdir -p /var/holoscan/output\n", "#17 CACHED\n", "\n", "#18 [release 9/17] WORKDIR /var/holoscan\n", "#18 CACHED\n", "\n", "#19 [release 10/17] COPY ./pip/requirements.txt /tmp/requirements.txt\n", - "#19 DONE 0.3s\n", + "#19 DONE 0.1s\n", "\n", "#20 [release 11/17] RUN pip install --upgrade pip\n", - "#20 0.894 Defaulting to user installation because normal site-packages is not writeable\n", - "#20 0.942 Requirement already satisfied: pip in /usr/lib/python3/dist-packages (22.0.2)\n", - "#20 1.117 Collecting pip\n", - "#20 1.177 Downloading pip-24.3.1-py3-none-any.whl (1.8 MB)\n", - "#20 1.242 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 29.6 MB/s eta 0:00:00\n", - "#20 1.275 Installing collected packages: pip\n", - "#20 2.016 Successfully installed pip-24.3.1\n", - "#20 DONE 2.3s\n", + "#20 0.754 Defaulting to user installation because normal site-packages is not writeable\n", + "#20 0.787 Requirement already satisfied: pip in /usr/lib/python3/dist-packages (22.0.2)\n", + "#20 0.944 Collecting pip\n", + "#20 1.016 Downloading pip-25.0-py3-none-any.whl (1.8 MB)\n", + "#20 1.091 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 27.0 MB/s eta 0:00:00\n", + "#20 1.121 Installing collected packages: pip\n", + "#20 1.914 Successfully installed pip-25.0\n", + "#20 DONE 2.1s\n", "\n", "#21 [release 12/17] RUN pip install --no-cache-dir --user -r /tmp/requirements.txt\n", - "#21 0.688 Collecting scikit-image (from -r /tmp/requirements.txt (line 1))\n", - "#21 0.701 Downloading scikit_image-0.25.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (14 kB)\n", - "#21 0.717 Requirement already satisfied: setuptools>=59.5.0 in /usr/lib/python3/dist-packages (from -r /tmp/requirements.txt (line 2)) (59.6.0)\n", - "#21 0.806 Collecting holoscan==2.6.0 (from -r /tmp/requirements.txt (line 3))\n", - "#21 0.811 Downloading holoscan-2.6.0-cp310-cp310-manylinux_2_35_x86_64.whl.metadata (7.2 kB)\n", - "#21 0.816 Requirement already satisfied: pip>22.0.2 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan==2.6.0->-r /tmp/requirements.txt (line 3)) (24.3.1)\n", - "#21 0.830 Collecting cupy-cuda12x==12.2 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 0.836 Downloading cupy_cuda12x-12.2.0-cp310-cp310-manylinux2014_x86_64.whl.metadata (2.6 kB)\n", - "#21 0.854 Collecting cloudpickle==2.2.1 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 0.860 Downloading cloudpickle-2.2.1-py3-none-any.whl.metadata (6.9 kB)\n", - "#21 0.983 Collecting python-on-whales==0.60.1 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 0.988 Downloading python_on_whales-0.60.1-py3-none-any.whl.metadata (16 kB)\n", - "#21 1.005 Collecting Jinja2==3.1.3 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 1.010 Downloading Jinja2-3.1.3-py3-none-any.whl.metadata (3.3 kB)\n", - "#21 1.035 Collecting packaging==23.1 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 1.039 Downloading packaging-23.1-py3-none-any.whl.metadata (3.1 kB)\n", - "#21 1.079 Collecting pyyaml==6.0 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 1.083 Downloading PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.metadata (2.0 kB)\n", - "#21 1.117 Collecting requests==2.31.0 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 1.121 Downloading requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)\n", - "#21 1.209 Collecting psutil==6.0.0 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 1.213 Downloading psutil-6.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (21 kB)\n", - "#21 1.300 Collecting wheel-axle-runtime<1.0 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 1.308 Downloading wheel_axle_runtime-0.0.6-py3-none-any.whl.metadata (8.1 kB)\n", - "#21 1.511 Collecting numpy<1.27,>=1.20 (from cupy-cuda12x==12.2->holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 1.515 Downloading numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)\n", - "#21 1.573 Collecting fastrlock>=0.5 (from cupy-cuda12x==12.2->holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 1.579 Downloading fastrlock-0.8.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl.metadata (7.7 kB)\n", - "#21 1.637 Collecting MarkupSafe>=2.0 (from Jinja2==3.1.3->holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 1.640 Downloading MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)\n", - "#21 1.819 Collecting pydantic<2,>=1.5 (from python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 1.823 Downloading pydantic-1.10.21-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (153 kB)\n", - "#21 1.888 Collecting tqdm (from python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 1.892 Downloading tqdm-4.67.1-py3-none-any.whl.metadata (57 kB)\n", - "#21 1.927 Collecting typer>=0.4.1 (from python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 1.933 Downloading typer-0.15.1-py3-none-any.whl.metadata (15 kB)\n", - "#21 1.960 Collecting typing-extensions (from python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 1.969 Downloading typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)\n", - "#21 2.064 Collecting charset-normalizer<4,>=2 (from requests==2.31.0->holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 2.068 Downloading charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB)\n", - "#21 2.088 Collecting idna<4,>=2.5 (from requests==2.31.0->holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 2.092 Downloading idna-3.10-py3-none-any.whl.metadata (10 kB)\n", - "#21 2.149 Collecting urllib3<3,>=1.21.1 (from requests==2.31.0->holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 2.154 Downloading urllib3-2.3.0-py3-none-any.whl.metadata (6.5 kB)\n", - "#21 2.174 Collecting certifi>=2017.4.17 (from requests==2.31.0->holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 2.178 Downloading certifi-2024.12.14-py3-none-any.whl.metadata (2.3 kB)\n", - "#21 2.312 Collecting scipy>=1.11.2 (from scikit-image->-r /tmp/requirements.txt (line 1))\n", - "#21 2.315 Downloading scipy-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)\n", - "#21 2.348 Collecting networkx>=3.0 (from scikit-image->-r /tmp/requirements.txt (line 1))\n", - "#21 2.352 Downloading networkx-3.4.2-py3-none-any.whl.metadata (6.3 kB)\n", - "#21 2.639 Collecting pillow>=10.1 (from scikit-image->-r /tmp/requirements.txt (line 1))\n", - "#21 2.644 Downloading pillow-11.1.0-cp310-cp310-manylinux_2_28_x86_64.whl.metadata (9.1 kB)\n", - "#21 2.707 Collecting imageio!=2.35.0,>=2.33 (from scikit-image->-r /tmp/requirements.txt (line 1))\n", - "#21 2.712 Downloading imageio-2.36.1-py3-none-any.whl.metadata (5.2 kB)\n", - "#21 2.802 Collecting tifffile>=2022.8.12 (from scikit-image->-r /tmp/requirements.txt (line 1))\n", - "#21 2.807 Downloading tifffile-2025.1.10-py3-none-any.whl.metadata (31 kB)\n", - "#21 2.828 Collecting lazy-loader>=0.4 (from scikit-image->-r /tmp/requirements.txt (line 1))\n", - "#21 2.836 Downloading lazy_loader-0.4-py3-none-any.whl.metadata (7.6 kB)\n", - "#21 2.912 Collecting filelock (from wheel-axle-runtime<1.0->holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 2.917 Downloading filelock-3.16.1-py3-none-any.whl.metadata (2.9 kB)\n", - "#21 2.956 Collecting click>=8.0.0 (from typer>=0.4.1->python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 2.960 Downloading click-8.1.8-py3-none-any.whl.metadata (2.3 kB)\n", - "#21 2.986 Collecting shellingham>=1.3.0 (from typer>=0.4.1->python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 2.990 Downloading shellingham-1.5.4-py2.py3-none-any.whl.metadata (3.5 kB)\n", - "#21 3.081 Collecting rich>=10.11.0 (from typer>=0.4.1->python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 3.088 Downloading rich-13.9.4-py3-none-any.whl.metadata (18 kB)\n", - "#21 3.139 Collecting markdown-it-py>=2.2.0 (from rich>=10.11.0->typer>=0.4.1->python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 3.143 Downloading markdown_it_py-3.0.0-py3-none-any.whl.metadata (6.9 kB)\n", - "#21 3.175 Collecting pygments<3.0.0,>=2.13.0 (from rich>=10.11.0->typer>=0.4.1->python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 3.179 Downloading pygments-2.19.1-py3-none-any.whl.metadata (2.5 kB)\n", - "#21 3.200 Collecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich>=10.11.0->typer>=0.4.1->python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 3))\n", - "#21 3.205 Downloading mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)\n", - "#21 3.219 Downloading holoscan-2.6.0-cp310-cp310-manylinux_2_35_x86_64.whl (40.8 MB)\n", - "#21 5.813 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 40.8/40.8 MB 15.7 MB/s eta 0:00:00\n", - "#21 5.821 Downloading cloudpickle-2.2.1-py3-none-any.whl (25 kB)\n", - "#21 5.828 Downloading cupy_cuda12x-12.2.0-cp310-cp310-manylinux2014_x86_64.whl (82.0 MB)\n", - "#21 6.919 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 82.0/82.0 MB 75.4 MB/s eta 0:00:00\n", - "#21 6.924 Downloading Jinja2-3.1.3-py3-none-any.whl (133 kB)\n", - "#21 6.928 Downloading packaging-23.1-py3-none-any.whl (48 kB)\n", - "#21 6.932 Downloading psutil-6.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (290 kB)\n", - "#21 6.942 Downloading python_on_whales-0.60.1-py3-none-any.whl (103 kB)\n", - "#21 6.948 Downloading PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (682 kB)\n", - "#21 6.958 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 682.2/682.2 kB 135.1 MB/s eta 0:00:00\n", - "#21 6.964 Downloading requests-2.31.0-py3-none-any.whl (62 kB)\n", - "#21 6.970 Downloading scikit_image-0.25.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.8 MB)\n", - "#21 7.169 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 14.8/14.8 MB 74.4 MB/s eta 0:00:00\n", - "#21 7.175 Downloading imageio-2.36.1-py3-none-any.whl (315 kB)\n", - "#21 7.182 Downloading lazy_loader-0.4-py3-none-any.whl (12 kB)\n", - "#21 7.187 Downloading networkx-3.4.2-py3-none-any.whl (1.7 MB)\n", - "#21 7.204 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 122.2 MB/s eta 0:00:00\n", - "#21 7.209 Downloading numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.2 MB)\n", - "#21 7.367 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.2/18.2 MB 117.5 MB/s eta 0:00:00\n", - "#21 7.372 Downloading pillow-11.1.0-cp310-cp310-manylinux_2_28_x86_64.whl (4.5 MB)\n", - "#21 7.416 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.5/4.5 MB 116.4 MB/s eta 0:00:00\n", - "#21 7.424 Downloading scipy-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (40.6 MB)\n", - "#21 7.833 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 40.6/40.6 MB 100.0 MB/s eta 0:00:00\n", - "#21 7.842 Downloading tifffile-2025.1.10-py3-none-any.whl (227 kB)\n", - "#21 7.854 Downloading wheel_axle_runtime-0.0.6-py3-none-any.whl (14 kB)\n", - "#21 7.862 Downloading certifi-2024.12.14-py3-none-any.whl (164 kB)\n", - "#21 7.870 Downloading charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (146 kB)\n", - "#21 7.879 Downloading fastrlock-0.8.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl (53 kB)\n", - "#21 7.889 Downloading idna-3.10-py3-none-any.whl (70 kB)\n", - "#21 7.897 Downloading MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20 kB)\n", - "#21 7.904 Downloading pydantic-1.10.21-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB)\n", - "#21 7.958 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 79.8 MB/s eta 0:00:00\n", - "#21 7.963 Downloading typer-0.15.1-py3-none-any.whl (44 kB)\n", - "#21 7.966 Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)\n", - "#21 7.972 Downloading urllib3-2.3.0-py3-none-any.whl (128 kB)\n", - "#21 7.977 Downloading filelock-3.16.1-py3-none-any.whl (16 kB)\n", - "#21 7.981 Downloading tqdm-4.67.1-py3-none-any.whl (78 kB)\n", - "#21 7.985 Downloading click-8.1.8-py3-none-any.whl (98 kB)\n", - "#21 7.990 Downloading rich-13.9.4-py3-none-any.whl (242 kB)\n", - "#21 7.995 Downloading shellingham-1.5.4-py2.py3-none-any.whl (9.8 kB)\n", - "#21 7.999 Downloading markdown_it_py-3.0.0-py3-none-any.whl (87 kB)\n", - "#21 8.004 Downloading pygments-2.19.1-py3-none-any.whl (1.2 MB)\n", - "#21 8.025 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 71.2 MB/s eta 0:00:00\n", - "#21 8.032 Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)\n", - "#21 8.743 Installing collected packages: fastrlock, urllib3, typing-extensions, tqdm, shellingham, pyyaml, pygments, psutil, pillow, packaging, numpy, networkx, mdurl, MarkupSafe, idna, filelock, cloudpickle, click, charset-normalizer, certifi, wheel-axle-runtime, tifffile, scipy, requests, pydantic, markdown-it-py, lazy-loader, Jinja2, imageio, cupy-cuda12x, scikit-image, rich, typer, python-on-whales, holoscan\n", - "#21 22.15 Successfully installed Jinja2-3.1.3 MarkupSafe-3.0.2 certifi-2024.12.14 charset-normalizer-3.4.1 click-8.1.8 cloudpickle-2.2.1 cupy-cuda12x-12.2.0 fastrlock-0.8.3 filelock-3.16.1 holoscan-2.6.0 idna-3.10 imageio-2.36.1 lazy-loader-0.4 markdown-it-py-3.0.0 mdurl-0.1.2 networkx-3.4.2 numpy-1.26.4 packaging-23.1 pillow-11.1.0 psutil-6.0.0 pydantic-1.10.21 pygments-2.19.1 python-on-whales-0.60.1 pyyaml-6.0 requests-2.31.0 rich-13.9.4 scikit-image-0.25.0 scipy-1.15.1 shellingham-1.5.4 tifffile-2025.1.10 tqdm-4.67.1 typer-0.15.1 typing-extensions-4.12.2 urllib3-2.3.0 wheel-axle-runtime-0.0.6\n", - "#21 DONE 24.2s\n", + "#21 0.746 Collecting scikit-image (from -r /tmp/requirements.txt (line 1))\n", + "#21 0.765 Downloading scikit_image-0.25.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (14 kB)\n", + "#21 0.783 Requirement already satisfied: setuptools>=59.5.0 in /usr/lib/python3/dist-packages (from -r /tmp/requirements.txt (line 2)) (59.6.0)\n", + "#21 0.866 Collecting holoscan>=2.9.0 (from -r /tmp/requirements.txt (line 3))\n", + "#21 0.873 Downloading holoscan-2.9.0-cp310-cp310-manylinux_2_35_x86_64.whl.metadata (7.3 kB)\n", + "#21 1.134 Collecting numpy>=1.24 (from scikit-image->-r /tmp/requirements.txt (line 1))\n", + "#21 1.139 Downloading numpy-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (62 kB)\n", + "#21 1.257 Collecting scipy>=1.11.2 (from scikit-image->-r /tmp/requirements.txt (line 1))\n", + "#21 1.261 Downloading scipy-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)\n", + "#21 1.285 Collecting networkx>=3.0 (from scikit-image->-r /tmp/requirements.txt (line 1))\n", + "#21 1.290 Downloading networkx-3.4.2-py3-none-any.whl.metadata (6.3 kB)\n", + "#21 1.462 Collecting pillow>=10.1 (from scikit-image->-r /tmp/requirements.txt (line 1))\n", + "#21 1.468 Downloading pillow-11.1.0-cp310-cp310-manylinux_2_28_x86_64.whl.metadata (9.1 kB)\n", + "#21 1.510 Collecting imageio!=2.35.0,>=2.33 (from scikit-image->-r /tmp/requirements.txt (line 1))\n", + "#21 1.514 Downloading imageio-2.37.0-py3-none-any.whl.metadata (5.2 kB)\n", + "#21 1.568 Collecting tifffile>=2022.8.12 (from scikit-image->-r /tmp/requirements.txt (line 1))\n", + "#21 1.572 Downloading tifffile-2025.1.10-py3-none-any.whl.metadata (31 kB)\n", + "#21 1.601 Collecting packaging>=21 (from scikit-image->-r /tmp/requirements.txt (line 1))\n", + "#21 1.605 Downloading packaging-24.2-py3-none-any.whl.metadata (3.2 kB)\n", + "#21 1.618 Collecting lazy-loader>=0.4 (from scikit-image->-r /tmp/requirements.txt (line 1))\n", + "#21 1.622 Downloading lazy_loader-0.4-py3-none-any.whl.metadata (7.6 kB)\n", + "#21 1.629 Requirement already satisfied: pip>22.0.2 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 3)) (25.0)\n", + "#21 1.650 Collecting cupy-cuda12x<14.0,>=12.2 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 3))\n", + "#21 1.655 Downloading cupy_cuda12x-13.3.0-cp310-cp310-manylinux2014_x86_64.whl.metadata (2.7 kB)\n", + "#21 1.674 Collecting numpy>=1.24 (from scikit-image->-r /tmp/requirements.txt (line 1))\n", + "#21 1.678 Downloading numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)\n", + "#21 1.690 Collecting cloudpickle<4.0,>=3.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 3))\n", + "#21 1.694 Downloading cloudpickle-3.1.1-py3-none-any.whl.metadata (7.1 kB)\n", + "#21 1.718 Collecting python-on-whales<1.0,>=0.60.1 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 3))\n", + "#21 1.722 Downloading python_on_whales-0.75.1-py3-none-any.whl.metadata (18 kB)\n", + "#21 1.734 Collecting Jinja2<4.0,>=3.1.3 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 3))\n", + "#21 1.738 Downloading jinja2-3.1.5-py3-none-any.whl.metadata (2.6 kB)\n", + "#21 1.795 Collecting pyyaml<7.0,>=6.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 3))\n", + "#21 1.799 Downloading PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)\n", + "#21 1.824 Collecting requests<3.0,>=2.31.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 3))\n", + "#21 1.828 Downloading requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)\n", + "#21 1.884 Collecting psutil<7.0,>=6.0.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 3))\n", + "#21 1.888 Downloading psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (22 kB)\n", + "#21 1.967 Collecting wheel-axle-runtime<1.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 3))\n", + "#21 1.976 Downloading wheel_axle_runtime-0.0.6-py3-none-any.whl.metadata (8.1 kB)\n", + "#21 2.022 Collecting fastrlock>=0.5 (from cupy-cuda12x<14.0,>=12.2->holoscan>=2.9.0->-r /tmp/requirements.txt (line 3))\n", + "#21 2.027 Downloading fastrlock-0.8.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl.metadata (7.7 kB)\n", + "#21 2.112 Collecting MarkupSafe>=2.0 (from Jinja2<4.0,>=3.1.3->holoscan>=2.9.0->-r /tmp/requirements.txt (line 3))\n", + "#21 2.116 Downloading MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)\n", + "#21 2.265 Collecting pydantic!=2.0.*,<3,>=2 (from python-on-whales<1.0,>=0.60.1->holoscan>=2.9.0->-r /tmp/requirements.txt (line 3))\n", + "#21 2.269 Downloading pydantic-2.10.6-py3-none-any.whl.metadata (30 kB)\n", + "#21 2.282 Collecting typing-extensions (from python-on-whales<1.0,>=0.60.1->holoscan>=2.9.0->-r /tmp/requirements.txt (line 3))\n", + "#21 2.286 Downloading typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)\n", + "#21 2.354 Collecting charset-normalizer<4,>=2 (from requests<3.0,>=2.31.0->holoscan>=2.9.0->-r /tmp/requirements.txt (line 3))\n", + "#21 2.358 Downloading charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB)\n", + "#21 2.369 Collecting idna<4,>=2.5 (from requests<3.0,>=2.31.0->holoscan>=2.9.0->-r /tmp/requirements.txt (line 3))\n", + "#21 2.376 Downloading idna-3.10-py3-none-any.whl.metadata (10 kB)\n", + "#21 2.437 Collecting urllib3<3,>=1.21.1 (from requests<3.0,>=2.31.0->holoscan>=2.9.0->-r /tmp/requirements.txt (line 3))\n", + "#21 2.441 Downloading urllib3-2.3.0-py3-none-any.whl.metadata (6.5 kB)\n", + "#21 2.457 Collecting certifi>=2017.4.17 (from requests<3.0,>=2.31.0->holoscan>=2.9.0->-r /tmp/requirements.txt (line 3))\n", + "#21 2.460 Downloading certifi-2024.12.14-py3-none-any.whl.metadata (2.3 kB)\n", + "#21 2.489 Collecting filelock (from wheel-axle-runtime<1.0->holoscan>=2.9.0->-r /tmp/requirements.txt (line 3))\n", + "#21 2.492 Downloading filelock-3.17.0-py3-none-any.whl.metadata (2.9 kB)\n", + "#21 2.507 Collecting annotated-types>=0.6.0 (from pydantic!=2.0.*,<3,>=2->python-on-whales<1.0,>=0.60.1->holoscan>=2.9.0->-r /tmp/requirements.txt (line 3))\n", + "#21 2.511 Downloading annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)\n", + "#21 3.029 Collecting pydantic-core==2.27.2 (from pydantic!=2.0.*,<3,>=2->python-on-whales<1.0,>=0.60.1->holoscan>=2.9.0->-r /tmp/requirements.txt (line 3))\n", + "#21 3.033 Downloading pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)\n", + "#21 3.055 Downloading scikit_image-0.25.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.8 MB)\n", + "#21 3.185 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 14.8/14.8 MB 120.3 MB/s eta 0:00:00\n", + "#21 3.193 Downloading holoscan-2.9.0-cp310-cp310-manylinux_2_35_x86_64.whl (41.1 MB)\n", + "#21 3.660 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 41.1/41.1 MB 89.5 MB/s eta 0:00:00\n", + "#21 3.668 Downloading cloudpickle-3.1.1-py3-none-any.whl (20 kB)\n", + "#21 3.677 Downloading cupy_cuda12x-13.3.0-cp310-cp310-manylinux2014_x86_64.whl (90.6 MB)\n", + "#21 4.557 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6/90.6 MB 103.5 MB/s eta 0:00:00\n", + "#21 4.566 Downloading imageio-2.37.0-py3-none-any.whl (315 kB)\n", + "#21 4.576 Downloading jinja2-3.1.5-py3-none-any.whl (134 kB)\n", + "#21 4.582 Downloading lazy_loader-0.4-py3-none-any.whl (12 kB)\n", + "#21 4.589 Downloading networkx-3.4.2-py3-none-any.whl (1.7 MB)\n", + "#21 4.605 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 124.4 MB/s eta 0:00:00\n", + "#21 4.610 Downloading numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.2 MB)\n", + "#21 4.771 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.2/18.2 MB 117.4 MB/s eta 0:00:00\n", + "#21 4.778 Downloading packaging-24.2-py3-none-any.whl (65 kB)\n", + "#21 4.785 Downloading pillow-11.1.0-cp310-cp310-manylinux_2_28_x86_64.whl (4.5 MB)\n", + "#21 4.825 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.5/4.5 MB 116.1 MB/s eta 0:00:00\n", + "#21 4.830 Downloading psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (287 kB)\n", + "#21 4.840 Downloading python_on_whales-0.75.1-py3-none-any.whl (114 kB)\n", + "#21 4.849 Downloading PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (751 kB)\n", + "#21 4.859 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 751.2/751.2 kB 124.1 MB/s eta 0:00:00\n", + "#21 4.865 Downloading requests-2.32.3-py3-none-any.whl (64 kB)\n", + "#21 4.870 Downloading scipy-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (40.6 MB)\n", + "#21 5.265 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 40.6/40.6 MB 103.7 MB/s eta 0:00:00\n", + "#21 5.273 Downloading tifffile-2025.1.10-py3-none-any.whl (227 kB)\n", + "#21 5.280 Downloading wheel_axle_runtime-0.0.6-py3-none-any.whl (14 kB)\n", + "#21 5.286 Downloading certifi-2024.12.14-py3-none-any.whl (164 kB)\n", + "#21 5.291 Downloading charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (146 kB)\n", + "#21 5.299 Downloading fastrlock-0.8.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl (53 kB)\n", + "#21 5.304 Downloading idna-3.10-py3-none-any.whl (70 kB)\n", + "#21 5.309 Downloading MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20 kB)\n", + "#21 5.315 Downloading pydantic-2.10.6-py3-none-any.whl (431 kB)\n", + "#21 5.323 Downloading pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB)\n", + "#21 5.344 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.0/2.0 MB 110.5 MB/s eta 0:00:00\n", + "#21 5.352 Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)\n", + "#21 5.357 Downloading urllib3-2.3.0-py3-none-any.whl (128 kB)\n", + "#21 5.363 Downloading filelock-3.17.0-py3-none-any.whl (16 kB)\n", + "#21 5.370 Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB)\n", + "#21 6.034 Installing collected packages: fastrlock, urllib3, typing-extensions, pyyaml, psutil, pillow, packaging, numpy, networkx, MarkupSafe, idna, filelock, cloudpickle, charset-normalizer, certifi, annotated-types, wheel-axle-runtime, tifffile, scipy, requests, pydantic-core, lazy-loader, Jinja2, imageio, cupy-cuda12x, scikit-image, pydantic, python-on-whales, holoscan\n", + "#21 17.54 Successfully installed Jinja2-3.1.5 MarkupSafe-3.0.2 annotated-types-0.7.0 certifi-2024.12.14 charset-normalizer-3.4.1 cloudpickle-3.1.1 cupy-cuda12x-13.3.0 fastrlock-0.8.3 filelock-3.17.0 holoscan-2.9.0 idna-3.10 imageio-2.37.0 lazy-loader-0.4 networkx-3.4.2 numpy-1.26.4 packaging-24.2 pillow-11.1.0 psutil-6.1.1 pydantic-2.10.6 pydantic-core-2.27.2 python-on-whales-0.75.1 pyyaml-6.0.2 requests-2.32.3 scikit-image-0.25.1 scipy-1.15.1 tifffile-2025.1.10 typing-extensions-4.12.2 urllib3-2.3.0 wheel-axle-runtime-0.0.6\n", + "#21 DONE 19.4s\n", "\n", "#22 [release 13/17] RUN pip install monai-deploy-app-sdk==2.0.0\n", - "#22 1.117 Defaulting to user installation because normal site-packages is not writeable\n", - "#22 1.330 Collecting monai-deploy-app-sdk==2.0.0\n", - "#22 1.396 Downloading monai_deploy_app_sdk-2.0.0-py3-none-any.whl (132 kB)\n", - "#22 1.434 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 132.6/132.6 KB 3.6 MB/s eta 0:00:00\n", - "#22 1.490 Collecting colorama>=0.4.1\n", - "#22 1.495 Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n", - "#22 1.507 Requirement already satisfied: numpy>=1.21.6 in /home/holoscan/.local/lib/python3.10/site-packages (from monai-deploy-app-sdk==2.0.0) (1.26.4)\n", - "#22 1.508 Requirement already satisfied: holoscan~=2.0 in /home/holoscan/.local/lib/python3.10/site-packages (from monai-deploy-app-sdk==2.0.0) (2.6.0)\n", - "#22 1.578 Collecting typeguard>=3.0.0\n", - "#22 1.583 Downloading typeguard-4.4.1-py3-none-any.whl (35 kB)\n", - "#22 1.609 Requirement already satisfied: Jinja2==3.1.3 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.1.3)\n", - "#22 1.610 Requirement already satisfied: requests==2.31.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.31.0)\n", - "#22 1.611 Requirement already satisfied: cupy-cuda12x==12.2 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (12.2.0)\n", - "#22 1.724 Collecting pip>22.0.2\n", - "#22 1.738 Using cached pip-24.3.1-py3-none-any.whl (1.8 MB)\n", - "#22 1.756 Requirement already satisfied: psutil==6.0.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (6.0.0)\n", - "#22 1.757 Requirement already satisfied: cloudpickle==2.2.1 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.2.1)\n", - "#22 1.758 Requirement already satisfied: packaging==23.1 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (23.1)\n", - "#22 1.759 Requirement already satisfied: python-on-whales==0.60.1 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.60.1)\n", - "#22 1.760 Requirement already satisfied: pyyaml==6.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (6.0)\n", - "#22 1.761 Requirement already satisfied: wheel-axle-runtime<1.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.0.6)\n", - "#22 1.779 Requirement already satisfied: fastrlock>=0.5 in /home/holoscan/.local/lib/python3.10/site-packages (from cupy-cuda12x==12.2->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.8.3)\n", - "#22 1.784 Requirement already satisfied: MarkupSafe>=2.0 in /home/holoscan/.local/lib/python3.10/site-packages (from Jinja2==3.1.3->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.0.2)\n", - "#22 1.801 Requirement already satisfied: typing-extensions in /home/holoscan/.local/lib/python3.10/site-packages (from python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (4.12.2)\n", - "#22 1.802 Requirement already satisfied: pydantic<2,>=1.5 in /home/holoscan/.local/lib/python3.10/site-packages (from python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (1.10.21)\n", - "#22 1.802 Requirement already satisfied: tqdm in /home/holoscan/.local/lib/python3.10/site-packages (from python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (4.67.1)\n", - "#22 1.803 Requirement already satisfied: typer>=0.4.1 in /home/holoscan/.local/lib/python3.10/site-packages (from python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.15.1)\n", - "#22 1.813 Requirement already satisfied: charset-normalizer<4,>=2 in /home/holoscan/.local/lib/python3.10/site-packages (from requests==2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.4.1)\n", - "#22 1.813 Requirement already satisfied: idna<4,>=2.5 in /home/holoscan/.local/lib/python3.10/site-packages (from requests==2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.10)\n", - "#22 1.814 Requirement already satisfied: urllib3<3,>=1.21.1 in /home/holoscan/.local/lib/python3.10/site-packages (from requests==2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.3.0)\n", - "#22 1.815 Requirement already satisfied: certifi>=2017.4.17 in /home/holoscan/.local/lib/python3.10/site-packages (from requests==2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2024.12.14)\n", - "#22 1.845 Requirement already satisfied: filelock in /home/holoscan/.local/lib/python3.10/site-packages (from wheel-axle-runtime<1.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.16.1)\n", - "#22 1.881 Requirement already satisfied: rich>=10.11.0 in /home/holoscan/.local/lib/python3.10/site-packages (from typer>=0.4.1->python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (13.9.4)\n", - "#22 1.882 Requirement already satisfied: shellingham>=1.3.0 in /home/holoscan/.local/lib/python3.10/site-packages (from typer>=0.4.1->python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (1.5.4)\n", - "#22 1.883 Requirement already satisfied: click>=8.0.0 in /home/holoscan/.local/lib/python3.10/site-packages (from typer>=0.4.1->python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (8.1.8)\n", - "#22 1.949 Requirement already satisfied: markdown-it-py>=2.2.0 in /home/holoscan/.local/lib/python3.10/site-packages (from rich>=10.11.0->typer>=0.4.1->python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.0.0)\n", - "#22 1.950 Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /home/holoscan/.local/lib/python3.10/site-packages (from rich>=10.11.0->typer>=0.4.1->python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.19.1)\n", - "#22 1.985 Requirement already satisfied: mdurl~=0.1 in /home/holoscan/.local/lib/python3.10/site-packages (from markdown-it-py>=2.2.0->rich>=10.11.0->typer>=0.4.1->python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.1.2)\n", - "#22 2.261 Installing collected packages: typeguard, pip, colorama, monai-deploy-app-sdk\n", - "#22 3.247 Successfully installed colorama-0.4.6 monai-deploy-app-sdk-2.0.0 pip-24.3.1 typeguard-4.4.1\n", - "#22 DONE 3.6s\n", + "#22 0.791 Defaulting to user installation because normal site-packages is not writeable\n", + "#22 0.999 Collecting monai-deploy-app-sdk==2.0.0\n", + "#22 1.009 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))': /packages/fa/5a/e4bc7bad613a21b80d0d2835598af5ad82083cc076fec6f4d14c455d23eb/monai_deploy_app_sdk-2.0.0-py3-none-any.whl.metadata\n", + "#22 1.021 Downloading monai_deploy_app_sdk-2.0.0-py3-none-any.whl.metadata (7.6 kB)\n", + "#22 1.039 Requirement already satisfied: numpy>=1.21.6 in /home/holoscan/.local/lib/python3.10/site-packages (from monai-deploy-app-sdk==2.0.0) (1.26.4)\n", + "#22 1.041 Requirement already satisfied: holoscan~=2.0 in /home/holoscan/.local/lib/python3.10/site-packages (from monai-deploy-app-sdk==2.0.0) (2.9.0)\n", + "#22 1.079 Collecting colorama>=0.4.1 (from monai-deploy-app-sdk==2.0.0)\n", + "#22 1.089 Downloading colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)\n", + "#22 1.176 Collecting typeguard>=3.0.0 (from monai-deploy-app-sdk==2.0.0)\n", + "#22 1.181 Downloading typeguard-4.4.1-py3-none-any.whl.metadata (3.7 kB)\n", + "#22 1.206 Requirement already satisfied: pip>22.0.2 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (25.0)\n", + "#22 1.208 Requirement already satisfied: cupy-cuda12x<14.0,>=12.2 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (13.3.0)\n", + "#22 1.209 Requirement already satisfied: cloudpickle<4.0,>=3.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.1.1)\n", + "#22 1.209 Requirement already satisfied: python-on-whales<1.0,>=0.60.1 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.75.1)\n", + "#22 1.210 Requirement already satisfied: Jinja2<4.0,>=3.1.3 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.1.5)\n", + "#22 1.211 Requirement already satisfied: packaging>=23.1 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (24.2)\n", + "#22 1.212 Requirement already satisfied: pyyaml<7.0,>=6.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (6.0.2)\n", + "#22 1.213 Requirement already satisfied: requests<3.0,>=2.31.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.32.3)\n", + "#22 1.214 Requirement already satisfied: psutil<7.0,>=6.0.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (6.1.1)\n", + "#22 1.214 Requirement already satisfied: wheel-axle-runtime<1.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.0.6)\n", + "#22 1.219 Requirement already satisfied: typing-extensions>=4.10.0 in /home/holoscan/.local/lib/python3.10/site-packages (from typeguard>=3.0.0->monai-deploy-app-sdk==2.0.0) (4.12.2)\n", + "#22 1.227 Requirement already satisfied: fastrlock>=0.5 in /home/holoscan/.local/lib/python3.10/site-packages (from cupy-cuda12x<14.0,>=12.2->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.8.3)\n", + "#22 1.231 Requirement already satisfied: MarkupSafe>=2.0 in /home/holoscan/.local/lib/python3.10/site-packages (from Jinja2<4.0,>=3.1.3->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.0.2)\n", + "#22 1.242 Requirement already satisfied: pydantic!=2.0.*,<3,>=2 in /home/holoscan/.local/lib/python3.10/site-packages (from python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.10.6)\n", + "#22 1.247 Requirement already satisfied: charset-normalizer<4,>=2 in /home/holoscan/.local/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.4.1)\n", + "#22 1.248 Requirement already satisfied: idna<4,>=2.5 in /home/holoscan/.local/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.10)\n", + "#22 1.250 Requirement already satisfied: urllib3<3,>=1.21.1 in /home/holoscan/.local/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.3.0)\n", + "#22 1.250 Requirement already satisfied: certifi>=2017.4.17 in /home/holoscan/.local/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2024.12.14)\n", + "#22 1.253 Requirement already satisfied: filelock in /home/holoscan/.local/lib/python3.10/site-packages (from wheel-axle-runtime<1.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.17.0)\n", + "#22 1.265 Requirement already satisfied: annotated-types>=0.6.0 in /home/holoscan/.local/lib/python3.10/site-packages (from pydantic!=2.0.*,<3,>=2->python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.7.0)\n", + "#22 1.266 Requirement already satisfied: pydantic-core==2.27.2 in /home/holoscan/.local/lib/python3.10/site-packages (from pydantic!=2.0.*,<3,>=2->python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.27.2)\n", + "#22 1.285 Downloading monai_deploy_app_sdk-2.0.0-py3-none-any.whl (132 kB)\n", + "#22 1.306 Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n", + "#22 1.325 Downloading typeguard-4.4.1-py3-none-any.whl (35 kB)\n", + "#22 1.453 Installing collected packages: typeguard, colorama, monai-deploy-app-sdk\n", + "#22 1.652 Successfully installed colorama-0.4.6 monai-deploy-app-sdk-2.0.0 typeguard-4.4.1\n", + "#22 DONE 2.0s\n", "\n", "#23 [release 14/17] COPY ./map/app.json /etc/holoscan/app.json\n", "#23 DONE 0.1s\n", @@ -1843,77 +1821,77 @@ "\n", "#27 exporting to docker image format\n", "#27 exporting layers\n", - "#27 exporting layers 24.0s done\n", - "#27 exporting manifest sha256:cc7706093c83a3a726ef89196569affd7a7462bb7c4d0f2ee43b135224920095 0.0s done\n", - "#27 exporting config sha256:70d7701f92d3ce5f4031fd4e0cbf5c1df2d07600f6549cfd50b960afefe42515 0.0s done\n", + "#27 exporting layers 21.8s done\n", + "#27 exporting manifest sha256:53ff7da31e7d5c6946b56e187e574f38dcf580354efae32e00d50b4986bb3ea0 0.0s done\n", + "#27 exporting config sha256:a00c56131135404d07ea4a88014855a80f5a306b51d023abfe17aecad923f4f8 0.0s done\n", "#27 sending tarball\n", "#27 ...\n", "\n", "#28 importing to docker\n", - "#28 loading layer 1b024ad82f5a 229B / 229B\n", - "#28 loading layer b8bccbd3b506 65.54kB / 5.03MB\n", - "#28 loading layer 5a9d3c09196c 557.06kB / 226.89MB\n", - "#28 loading layer 5a9d3c09196c 93.59MB / 226.89MB 2.1s\n", - "#28 loading layer 5a9d3c09196c 137.04MB / 226.89MB 4.2s\n", - "#28 loading layer 5a9d3c09196c 178.81MB / 226.89MB 6.3s\n", - "#28 loading layer 5a9d3c09196c 226.16MB / 226.89MB 8.3s\n", - "#28 loading layer c99258ac4505 65.54kB / 3.78MB\n", - "#28 loading layer 3170063eb987 490B / 490B\n", - "#28 loading layer fd5e217f4633 313B / 313B\n", - "#28 loading layer f6848a086f32 295B / 295B\n", - "#28 loading layer bf3b68165975 3.21kB / 3.21kB\n", - "#28 loading layer 1b024ad82f5a 229B / 229B 10.3s done\n", - "#28 loading layer b8bccbd3b506 65.54kB / 5.03MB 10.2s done\n", - "#28 loading layer 5a9d3c09196c 226.16MB / 226.89MB 9.6s done\n", - "#28 loading layer c99258ac4505 65.54kB / 3.78MB 1.1s done\n", - "#28 loading layer 3170063eb987 490B / 490B 0.4s done\n", - "#28 loading layer fd5e217f4633 313B / 313B 0.4s done\n", - "#28 loading layer f6848a086f32 295B / 295B 0.3s done\n", - "#28 loading layer bf3b68165975 3.21kB / 3.21kB 0.2s done\n", - "#28 DONE 10.3s\n", + "#28 loading layer 9d60bef8e444 230B / 230B\n", + "#28 loading layer c90115fa1f34 65.54kB / 5.10MB\n", + "#28 loading layer 8c9e9b65f01e 557.06kB / 230.97MB\n", + "#28 loading layer 8c9e9b65f01e 42.89MB / 230.97MB 2.1s\n", + "#28 loading layer 8c9e9b65f01e 111.41MB / 230.97MB 4.1s\n", + "#28 loading layer 8c9e9b65f01e 145.95MB / 230.97MB 6.1s\n", + "#28 loading layer 8c9e9b65f01e 175.47MB / 230.97MB 8.2s\n", + "#28 loading layer 8c9e9b65f01e 213.91MB / 230.97MB 10.2s\n", + "#28 loading layer 78921c5c83a7 32.77kB / 578.02kB\n", + "#28 loading layer 2b15b8f81b52 491B / 491B\n", + "#28 loading layer 5b542f78e0ea 314B / 314B\n", + "#28 loading layer 59edd496942a 294B / 294B\n", + "#28 loading layer 318a06f5a29c 3.20kB / 3.20kB\n", + "#28 loading layer 318a06f5a29c 3.20kB / 3.20kB 0.2s done\n", + "#28 loading layer 9d60bef8e444 230B / 230B 12.6s done\n", + "#28 loading layer c90115fa1f34 65.54kB / 5.10MB 12.6s done\n", + "#28 loading layer 8c9e9b65f01e 213.91MB / 230.97MB 11.9s done\n", + "#28 loading layer 78921c5c83a7 32.77kB / 578.02kB 0.7s done\n", + "#28 loading layer 2b15b8f81b52 491B / 491B 0.5s done\n", + "#28 loading layer 5b542f78e0ea 314B / 314B 0.4s done\n", + "#28 loading layer 59edd496942a 294B / 294B 0.3s done\n", + "#28 DONE 12.6s\n", "\n", "#27 exporting to docker image format\n", - "#27 sending tarball 24.8s done\n", - "#27 DONE 48.8s\n", + "#27 sending tarball 27.3s done\n", + "#27 DONE 49.1s\n", "\n", "#29 exporting cache to client directory\n", "#29 preparing build cache for export\n", - "#29 writing layer sha256:0f288e66a79a71cef90c6368b4adaad8ed36262f6000f8acf8d49cce95577d68\n", - "#29 writing layer sha256:0f288e66a79a71cef90c6368b4adaad8ed36262f6000f8acf8d49cce95577d68 0.0s done\n", + "#29 writing layer sha256:067153055e77a79b3715e3a56caac895ee686a2fa6cadc4423c28d2eb20f0542\n", + "#29 writing layer sha256:067153055e77a79b3715e3a56caac895ee686a2fa6cadc4423c28d2eb20f0542 done\n", "#29 writing layer sha256:1a0d52c93099897b518eb6cc6cd0fa3d52ff733e8606b4d8c92675ba9e7101ff done\n", - "#29 writing layer sha256:1a5c607fac617c9a47a6fc2a6bda367b1f4be6b5e2c6cfdc7bf0ca16c6e969c0 0.1s done\n", - "#29 writing layer sha256:234b866f57e0c5d555af2d87a1857a17ec4ac7e70d2dc6c31ff0a072a4607f24\n", "#29 writing layer sha256:234b866f57e0c5d555af2d87a1857a17ec4ac7e70d2dc6c31ff0a072a4607f24 done\n", "#29 writing layer sha256:255905badeaa82f032e1043580eed8b745c19cd4a2cb7183883ee5a30f851d6d done\n", + "#29 writing layer sha256:310210c018e9123f7e4dd12747f657a167962dc86770b58db1309651c1e4fff0 0.1s done\n", "#29 writing layer sha256:3713021b02770a720dea9b54c03d0ed83e03a2ef5dce2898c56a327fee9a8bca done\n", "#29 writing layer sha256:3a80776cdc9c9ef79bb38510849c9160f82462d346bf5a8bf29c811391b4e763 done\n", - "#29 writing layer sha256:419f5fe8264f5c5f64aad0cfa4cf85e93d877a9424e0c4467ac5f2a450d6e056 0.0s done\n", - "#29 writing layer sha256:41e173df84c503c9e717e0e67c22260d4e6bb14660577b225dec5733b4155a78 done\n", + "#29 writing layer sha256:440849e3569a74baf883d1a14010854807280727ba17c36f82beee5b7d5052b2 done\n", "#29 writing layer sha256:46c9c54348df10b0d7700bf932d5de7dc5bf9ab91e685db7086e29e381ff8e12 done\n", "#29 writing layer sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 done\n", - "#29 writing layer sha256:5b30d2811318a73c976648ae475ac270801091fbf9e25d455ab1272863f37139 0.0s done\n", "#29 writing layer sha256:67b3546b211deefd67122e680c0932886e0b3c6bd6ae0665e3ab25d2d9f0cda0 done\n", - "#29 writing layer sha256:834f38ff94a8090956102675d8f74ea3c8dd46a273f4a1f070bb2972b3003271\n", - "#29 writing layer sha256:834f38ff94a8090956102675d8f74ea3c8dd46a273f4a1f070bb2972b3003271 3.3s done\n", - "#29 writing layer sha256:875bf82ef536517b9ff04de88d1b32370335edb06abc9c9802ebaae0e33bb16c\n", - "#29 writing layer sha256:875bf82ef536517b9ff04de88d1b32370335edb06abc9c9802ebaae0e33bb16c 0.1s done\n", - "#29 writing layer sha256:94ea8fe9174939142272c5d49e179ba19f357ea997b5d4f3900d1fb7d4fe6707\n", - "#29 writing layer sha256:94ea8fe9174939142272c5d49e179ba19f357ea997b5d4f3900d1fb7d4fe6707 done\n", - "#29 writing layer sha256:94ed629bf6769eea21c1bcc9c2527c040075d6f7ddbf8e6f45d83a1a3a7430b5 0.0s done\n", + "#29 writing layer sha256:695ba418a525cecd1c5442c010ea5f070327d38dfa8f533e63ae845fc3660be8 done\n", + "#29 writing layer sha256:6b55a0ece27da2213382510598c60a658a0090ecc1b77924381aa52e03dde663 0.0s done\n", + "#29 writing layer sha256:765c241f999d7e08875cebc322e3685bc995f5bcd51b1ae00e7a8d37d580c6d0\n", + "#29 writing layer sha256:765c241f999d7e08875cebc322e3685bc995f5bcd51b1ae00e7a8d37d580c6d0 4.1s done\n", + "#29 writing layer sha256:980c13e156f90218b216bc6b0430472bbda71c0202804d350c0e16ef02075885\n", "#29 writing layer sha256:980c13e156f90218b216bc6b0430472bbda71c0202804d350c0e16ef02075885 done\n", "#29 writing layer sha256:ac52600be001236a2c291a4c5902c915bf5ec9d2441c06d2a54c587b76345847 done\n", + "#29 writing layer sha256:b6b7f5fd2c4d2a1139bf709d79900ce0959f21bbf09cd203ddf5a01540ca11cb 0.0s done\n", "#29 writing layer sha256:bc25d810fc1fd99656c1b07d422e88cdb896508730175bc3ec187b79f3787044 done\n", - "#29 writing layer sha256:c0e9112106766f6d918279426468ca3a81ddca90d82a7e3e41ed3d96b0464a94 done\n", - "#29 writing layer sha256:c8937b741c9ecd6b257aeb18daf07eddbf1c77b0c93f9ba4164faa8353cd1d3c done\n", + "#29 writing layer sha256:be0dad9c160128582482df5e64337c99c213a48988d5d12d453bd03bc2a4c1b1 done\n", + "#29 writing layer sha256:c6e43c0a1312306b0a277e2331a8040cbcb07a7dd18c1818cab4890b7ea6d1fd 0.0s done\n", + "#29 writing layer sha256:c94af7742e07c9041104260b79637c243ef8dd25eb4241f06ef1a3899a99f2bd done\n", "#29 writing layer sha256:d339273dfb7fc3b7fd896d3610d360ab9a09ab33a818093cb73b4be7639b6e99 done\n", - "#29 writing layer sha256:d6a3aed185061848dad38d40fc87ecf54ea6773924fd4596cd74b5e3e5bfb1f2 0.0s done\n", - "#29 writing layer sha256:e540d242f419a27800d601d7275f4fbb3488b97d209b454f52e63f1eb413a912 done\n", + "#29 writing layer sha256:d7bc8c1388631bfc461cb46725c245871c4e7c8b55d39dbcabe50c11e67ee6d8 0.0s done\n", + "#29 writing layer sha256:dcea0ee16845c3ea8a82f6e3ff8448f3ab26316873f456d68d26d1ea1cc48cae 0.0s done\n", + "#29 writing layer sha256:efc9014e2a4cb1e133b80bb4f047e9141e98685eb95b8d2471a8e35b86643e31\n", "#29 writing layer sha256:efc9014e2a4cb1e133b80bb4f047e9141e98685eb95b8d2471a8e35b86643e31 done\n", - "#29 writing config sha256:692173dc5432d2da6886f738a6b98d063c1f53f7aab1c09c888cf9edde90e0ec 0.0s done\n", - "#29 preparing build cache for export 4.0s done\n", - "#29 writing cache manifest sha256:a902154876d24757b32216424d3293c210d819dff65948054a3f83e51acad1d4 0.0s done\n", - "#29 DONE 4.0s\n", - "[2025-01-16 10:22:24,149] [INFO] (packager) - Build Summary:\n", + "#29 writing layer sha256:f22f9b836cbd9aef6d19af4591090720cabcc90d50397bde4bfb5df30c3c0074 0.1s done\n", + "#29 preparing build cache for export 4.7s done\n", + "#29 writing config sha256:a4f75b166426c5bb67adf94166174f47e6bbad714871ff611d617fc530aa5585 0.0s done\n", + "#29 writing cache manifest sha256:7f136b3980378eddd091fe709e3147397eee5acd8a045ed9aa3e46e605540a0d 0.0s done\n", + "#29 DONE 4.7s\n", + "[2025-01-29 12:09:49,701] [INFO] (packager) - Build Summary:\n", "\n", "Platform: x64-workstation/dgpu\n", " Status: Succeeded\n", @@ -1950,7 +1928,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "simple_imaging_app-x64-workstation-dgpu-linux-amd64 1.0 70d7701f92d3 54 seconds ago 2.98GB\n" + "simple_imaging_app-x64-workstation-dgpu-linux-amd64 1.0 a00c56131135 55 seconds ago 2.98GB\n" ] } ], @@ -2030,17 +2008,17 @@ " \"platformConfig\": \"dgpu\"\n", "}\n", "\n", - "2025-01-16 18:22:27 [INFO] Copying application from /opt/holoscan/app to /var/run/holoscan/export/app\n", + "2025-01-29 20:09:54 [INFO] Copying application from /opt/holoscan/app to /var/run/holoscan/export/app\n", "\n", - "2025-01-16 18:22:27 [INFO] Copying application manifest file from /etc/holoscan/app.json to /var/run/holoscan/export/config/app.json\n", - "2025-01-16 18:22:27 [INFO] Copying pkg manifest file from /etc/holoscan/pkg.json to /var/run/holoscan/export/config/pkg.json\n", - "2025-01-16 18:22:27 [INFO] Copying application configuration from /var/holoscan/app.yaml to /var/run/holoscan/export/config/app.yaml\n", + "2025-01-29 20:09:54 [INFO] Copying application manifest file from /etc/holoscan/app.json to /var/run/holoscan/export/config/app.json\n", + "2025-01-29 20:09:54 [INFO] Copying pkg manifest file from /etc/holoscan/pkg.json to /var/run/holoscan/export/config/pkg.json\n", + "2025-01-29 20:09:54 [INFO] Copying application configuration from /var/holoscan/app.yaml to /var/run/holoscan/export/config/app.yaml\n", "\n", - "2025-01-16 18:22:27 [INFO] Copying models from /opt/holoscan/models to /var/run/holoscan/export/models\n", - "2025-01-16 18:22:27 [INFO] '/opt/holoscan/models' cannot be found.\n", + "2025-01-29 20:09:54 [INFO] Copying models from /opt/holoscan/models to /var/run/holoscan/export/models\n", + "2025-01-29 20:09:54 [INFO] '/opt/holoscan/models' cannot be found.\n", "\n", - "2025-01-16 18:22:27 [INFO] Copying documentation from /opt/holoscan/docs/ to /var/run/holoscan/export/docs\n", - "2025-01-16 18:22:27 [INFO] '/opt/holoscan/docs/' cannot be found.\n", + "2025-01-29 20:09:54 [INFO] Copying documentation from /opt/holoscan/docs/ to /var/run/holoscan/export/docs\n", + "2025-01-29 20:09:54 [INFO] '/opt/holoscan/docs/' cannot be found.\n", "\n", "app config\n" ] @@ -2074,22 +2052,23 @@ "name": "stdout", "output_type": "stream", "text": [ - "[2025-01-16 10:22:29,375] [INFO] (runner) - Checking dependencies...\n", - "[2025-01-16 10:22:29,375] [INFO] (runner) - --> Verifying if \"docker\" is installed...\n", + "[2025-01-29 12:09:56,049] [INFO] (runner) - Checking dependencies...\n", + "[2025-01-29 12:09:56,049] [INFO] (runner) - --> Verifying if \"docker\" is installed...\n", "\n", - "[2025-01-16 10:22:29,375] [INFO] (runner) - --> Verifying if \"docker-buildx\" is installed...\n", + "[2025-01-29 12:09:56,049] [INFO] (runner) - --> Verifying if \"docker-buildx\" is installed...\n", "\n", - "[2025-01-16 10:22:29,375] [INFO] (runner) - --> Verifying if \"simple_imaging_app-x64-workstation-dgpu-linux-amd64:1.0\" is available...\n", + "[2025-01-29 12:09:56,049] [INFO] (runner) - --> Verifying if \"simple_imaging_app-x64-workstation-dgpu-linux-amd64:1.0\" is available...\n", "\n", - "[2025-01-16 10:22:29,473] [INFO] (runner) - Reading HAP/MAP manifest...\n", - "Successfully copied 2.56kB to /tmp/tmptn3vmu2k/app.json\n", - "Successfully copied 2.05kB to /tmp/tmptn3vmu2k/pkg.json\n", - "[2025-01-16 10:22:29,824] [INFO] (runner) - --> Verifying if \"nvidia-ctk\" is installed...\n", + "[2025-01-29 12:09:56,111] [INFO] (runner) - Reading HAP/MAP manifest...\n", + "Successfully copied 2.56kB to /tmp/tmpvqx0u9zd/app.json\n", + "Successfully copied 2.05kB to /tmp/tmpvqx0u9zd/pkg.json\n", + "d89d96d29bdf06ffe093ea7a304454c174b70705e522d5cc48fcdc332533b32c\n", + "[2025-01-29 12:09:56,396] [INFO] (runner) - --> Verifying if \"nvidia-ctk\" is installed...\n", "\n", - "[2025-01-16 10:22:29,824] [INFO] (runner) - --> Verifying \"nvidia-ctk\" version...\n", + "[2025-01-29 12:09:56,396] [INFO] (runner) - --> Verifying \"nvidia-ctk\" version...\n", "\n", - "[2025-01-16 10:22:30,105] [INFO] (common) - Launching container (cbedd97d041f) using image 'simple_imaging_app-x64-workstation-dgpu-linux-amd64:1.0'...\n", - " container name: quizzical_meitner\n", + "[2025-01-29 12:09:56,655] [INFO] (common) - Launching container (cdaa371aba2f) using image 'simple_imaging_app-x64-workstation-dgpu-linux-amd64:1.0'...\n", + " container name: zealous_bohr\n", " host name: mingq-dt\n", " network: host\n", " user: 1000:1000\n", @@ -2099,39 +2078,39 @@ " shared memory size: 67108864\n", " devices: \n", " group_add: 44\n", - "2025-01-16 18:22:30 [INFO] Launching application python3 /opt/holoscan/app ...\n", + "2025-01-29 20:09:57 [INFO] Launching application python3 /opt/holoscan/app ...\n", "\n", - "[info] [fragment.cpp:585] Loading extensions from configs...\n", + "[info] [fragment.cpp:599] Loading extensions from configs...\n", "\n", - "[info] [gxf_executor.cpp:255] Creating context\n", + "[info] [gxf_executor.cpp:264] Creating context\n", "\n", - "[2025-01-16 18:22:31,102] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=['/opt/holoscan/app'])\n", + "[2025-01-29 20:09:57,994] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=['/opt/holoscan/app'])\n", "\n", - "[2025-01-16 18:22:31,102] [INFO] (root) - AppContext object: AppContext(input_path=/var/holoscan/input, output_path=/var/holoscan/output, model_path=/opt/holoscan/models, workdir=/var/holoscan)\n", + "[2025-01-29 20:09:57,995] [INFO] (root) - AppContext object: AppContext(input_path=/var/holoscan/input, output_path=/var/holoscan/output, model_path=/opt/holoscan/models, workdir=/var/holoscan)\n", "\n", - "[2025-01-16 18:22:31,102] [INFO] (root) - sample_data_path: /var/holoscan/input\n", + "[2025-01-29 20:09:57,995] [INFO] (root) - sample_data_path: /var/holoscan/input\n", "\n", - "[info] [app_driver.cpp:1176] Launching the driver/health checking service\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'in1'\n", "\n", - "[info] [gxf_executor.cpp:1973] Activating Graph...\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'in1'\n", "\n", - "[info] [gxf_executor.cpp:2003] Running Graph...\n", + "[info] [gxf_executor.cpp:2208] Activating Graph...\n", "\n", - "[info] [gxf_executor.cpp:2005] Waiting for completion...\n", + "[info] [gxf_executor.cpp:2238] Running Graph...\n", "\n", - "\u001b[0m2025-01-16 18:22:31.105 INFO gxf/std/greedy_scheduler.cpp@191: Scheduling 3 entities\u001b[0m\n", + "[info] [gxf_executor.cpp:2240] Waiting for completion...\n", "\n", - "[info] [server.cpp:87] Health checking server listening on 0.0.0.0:8777\n", + "[info] [greedy_scheduler.cpp:191] Scheduling 3 entities\n", "\n", - "\u001b[0m2025-01-16 18:22:31.765 INFO gxf/std/greedy_scheduler.cpp@372: Scheduler stopped: Some entities are waiting for execution, but there are no periodic or async entities to get out of the deadlock.\u001b[0m\n", + "[info] [greedy_scheduler.cpp:372] Scheduler stopped: Some entities are waiting for execution, but there are no periodic or async entities to get out of the deadlock.\n", "\n", - "\u001b[0m2025-01-16 18:22:31.765 INFO gxf/std/greedy_scheduler.cpp@401: Scheduler finished.\u001b[0m\n", + "[info] [greedy_scheduler.cpp:401] Scheduler finished.\n", "\n", - "[info] [gxf_executor.cpp:2008] Deactivating Graph...\n", + "[info] [gxf_executor.cpp:2243] Deactivating Graph...\n", "\n", - "[info] [gxf_executor.cpp:2016] Graph execution finished.\n", + "[info] [gxf_executor.cpp:2251] Graph execution finished.\n", "\n", - "[info] [gxf_executor.cpp:284] Destroying context\n", + "[info] [gxf_executor.cpp:294] Destroying context\n", "\n", "Number of times operator sobel_op whose class is defined in sobel_operator called: 1\n", "\n", @@ -2145,7 +2124,7 @@ "\n", "Data type of output post conversion: , max = 91\n", "\n", - "[2025-01-16 10:22:32,099] [INFO] (common) - Container 'quizzical_meitner'(cbedd97d041f) exited.\n" + "[2025-01-29 12:09:58,979] [INFO] (common) - Container 'zealous_bohr'(cdaa371aba2f) exited.\n" ] } ], @@ -2164,14 +2143,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "/tmp/ipykernel_2020944/3197869135.py:3: FutureWarning: `imshow` is deprecated since version 0.25 and will be removed in version 0.27. Please use `matplotlib`, `napari`, etc. to visualize images.\n", + "/tmp/ipykernel_58609/3197869135.py:3: FutureWarning: `imshow` is deprecated since version 0.25 and will be removed in version 0.27. Please use `matplotlib`, `napari`, etc. to visualize images.\n", " io.imshow(output_image)\n" ] }, { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 27, diff --git a/notebooks/tutorials/02_mednist_app-prebuilt.ipynb b/notebooks/tutorials/02_mednist_app-prebuilt.ipynb index 7dc6bc3a..ef574499 100644 --- a/notebooks/tutorials/02_mednist_app-prebuilt.ipynb +++ b/notebooks/tutorials/02_mednist_app-prebuilt.ipynb @@ -20,7 +20,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 54, "metadata": {}, "outputs": [ { @@ -28,11 +28,11 @@ "output_type": "stream", "text": [ "Cloning into 'source'...\n", - "remote: Enumerating objects: 280, done.\u001b[K\n", - "remote: Counting objects: 100% (280/280), done.\u001b[K\n", - "remote: Compressing objects: 100% (225/225), done.\u001b[K\n", - "remote: Total 280 (delta 59), reused 154 (delta 33), pack-reused 0 (from 0)\u001b[K\n", - "Receiving objects: 100% (280/280), 1.40 MiB | 4.93 MiB/s, done.\n", + "remote: Enumerating objects: 281, done.\u001b[K\n", + "remote: Counting objects: 100% (281/281), done.\u001b[K\n", + "remote: Compressing objects: 100% (229/229), done.\u001b[K\n", + "remote: Total 281 (delta 59), reused 149 (delta 30), pack-reused 0 (from 0)\u001b[K\n", + "Receiving objects: 100% (281/281), 1.40 MiB | 13.06 MiB/s, done.\n", "Resolving deltas: 100% (59/59), done.\n" ] } @@ -45,7 +45,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 55, "metadata": {}, "outputs": [ { @@ -70,7 +70,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 56, "metadata": {}, "outputs": [ { @@ -79,13 +79,13 @@ "text": [ "Requirement already satisfied: monai-deploy-app-sdk in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (2.0.0)\n", "Requirement already satisfied: numpy>=1.21.6 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from monai-deploy-app-sdk) (1.26.4)\n", - "Requirement already satisfied: holoscan~=2.0 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from monai-deploy-app-sdk) (2.8.0)\n", + "Requirement already satisfied: holoscan~=2.0 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from monai-deploy-app-sdk) (2.9.0)\n", "Requirement already satisfied: colorama>=0.4.1 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from monai-deploy-app-sdk) (0.4.6)\n", "Requirement already satisfied: typeguard>=3.0.0 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from monai-deploy-app-sdk) (4.4.1)\n", - "Requirement already satisfied: pip>22.0.2 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk) (24.3.1)\n", + "Requirement already satisfied: pip>22.0.2 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk) (25.0)\n", "Requirement already satisfied: cupy-cuda12x<14.0,>=12.2 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk) (13.3.0)\n", "Requirement already satisfied: cloudpickle<4.0,>=3.0 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk) (3.1.1)\n", - "Requirement already satisfied: python-on-whales<1.0,>=0.60.1 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk) (0.75.1)\n", + "Requirement already satisfied: python-on-whales<1.0,>=0.60.1 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk) (0.60.1)\n", "Requirement already satisfied: Jinja2<4.0,>=3.1.3 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk) (3.1.5)\n", "Requirement already satisfied: packaging>=23.1 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk) (24.2)\n", "Requirement already satisfied: pyyaml<7.0,>=6.0 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk) (6.0.2)\n", @@ -95,14 +95,20 @@ "Requirement already satisfied: typing-extensions>=4.10.0 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from typeguard>=3.0.0->monai-deploy-app-sdk) (4.12.2)\n", "Requirement already satisfied: fastrlock>=0.5 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from cupy-cuda12x<14.0,>=12.2->holoscan~=2.0->monai-deploy-app-sdk) (0.8.3)\n", "Requirement already satisfied: MarkupSafe>=2.0 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from Jinja2<4.0,>=3.1.3->holoscan~=2.0->monai-deploy-app-sdk) (3.0.2)\n", - "Requirement already satisfied: pydantic!=2.0.*,<3,>=2 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk) (2.10.5)\n", + "Requirement already satisfied: pydantic<2,>=1.5 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk) (1.10.21)\n", + "Requirement already satisfied: tqdm in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk) (4.67.1)\n", + "Requirement already satisfied: typer>=0.4.1 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk) (0.15.1)\n", "Requirement already satisfied: charset-normalizer<4,>=2 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk) (3.4.1)\n", "Requirement already satisfied: idna<4,>=2.5 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk) (3.10)\n", "Requirement already satisfied: urllib3<3,>=1.21.1 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk) (2.3.0)\n", "Requirement already satisfied: certifi>=2017.4.17 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk) (2024.12.14)\n", - "Requirement already satisfied: filelock in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from wheel-axle-runtime<1.0->holoscan~=2.0->monai-deploy-app-sdk) (3.16.1)\n", - "Requirement already satisfied: annotated-types>=0.6.0 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from pydantic!=2.0.*,<3,>=2->python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk) (0.7.0)\n", - "Requirement already satisfied: pydantic-core==2.27.2 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from pydantic!=2.0.*,<3,>=2->python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk) (2.27.2)\n" + "Requirement already satisfied: filelock in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from wheel-axle-runtime<1.0->holoscan~=2.0->monai-deploy-app-sdk) (3.17.0)\n", + "Requirement already satisfied: click>=8.0.0 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from typer>=0.4.1->python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk) (8.1.8)\n", + "Requirement already satisfied: shellingham>=1.3.0 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from typer>=0.4.1->python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk) (1.5.4)\n", + "Requirement already satisfied: rich>=10.11.0 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from typer>=0.4.1->python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk) (13.9.4)\n", + "Requirement already satisfied: markdown-it-py>=2.2.0 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from rich>=10.11.0->typer>=0.4.1->python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk) (3.0.0)\n", + "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from rich>=10.11.0->typer>=0.4.1->python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk) (2.19.1)\n", + "Requirement already satisfied: mdurl~=0.1 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from markdown-it-py>=2.2.0->rich>=10.11.0->typer>=0.4.1->python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk) (0.1.2)\n" ] } ], @@ -120,7 +126,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 57, "metadata": {}, "outputs": [ { @@ -131,7 +137,7 @@ "Requirement already satisfied: Pillow in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (11.1.0)\n", "Requirement already satisfied: numpy<2.0,>=1.24 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from monai) (1.26.4)\n", "Requirement already satisfied: torch>=1.9 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from monai) (2.5.1)\n", - "Requirement already satisfied: filelock in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from torch>=1.9->monai) (3.16.1)\n", + "Requirement already satisfied: filelock in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from torch>=1.9->monai) (3.17.0)\n", "Requirement already satisfied: typing-extensions>=4.8.0 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from torch>=1.9->monai) (4.12.2)\n", "Requirement already satisfied: networkx in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from torch>=1.9->monai) (3.4.2)\n", "Requirement already satisfied: jinja2 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from torch>=1.9->monai) (3.1.5)\n", @@ -168,46 +174,26 @@ "source": [ "## Download/Extract mednist_classifier_data.zip from Google Drive\n", "\n", - "**_Note:_** Data files are now access controlled. Please first request permission to access the [shared folder on Google Drive](https://drive.google.com/drive/folders/1EONJsrwbGsS30td0hs8zl4WKjihew1Z3?usp=sharing). Please download zip file, `mednist_classifier_data.zip` in the `medmist_classifier_app` folder, to the same folder as the notebook example." + "**_Note:_** Data files are now access controlled. Please first request permission to access the [shared folder on Google Drive](https://drive.google.com/drive/folders/1EONJsrwbGsS30td0hs8zl4WKjihew1Z3?usp=sharing), then download the zip file, `mednist_classifier_data.zip` found in the `medmist_classifier_app` folder, to the same folder as this notebook example." ] }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 58, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: gdown in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (5.2.0)\n", - "Requirement already satisfied: beautifulsoup4 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from gdown) (4.12.3)\n", - "Requirement already satisfied: filelock in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from gdown) (3.16.1)\n", - "Requirement already satisfied: requests[socks] in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from gdown) (2.32.3)\n", - "Requirement already satisfied: tqdm in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from gdown) (4.67.1)\n", - "Requirement already satisfied: soupsieve>1.2 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from beautifulsoup4->gdown) (2.6)\n", - "Requirement already satisfied: charset-normalizer<4,>=2 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from requests[socks]->gdown) (3.4.1)\n", - "Requirement already satisfied: idna<4,>=2.5 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from requests[socks]->gdown) (3.10)\n", - "Requirement already satisfied: urllib3<3,>=1.21.1 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from requests[socks]->gdown) (2.3.0)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from requests[socks]->gdown) (2024.12.14)\n", - "Requirement already satisfied: PySocks!=1.5.7,>=1.5.6 in /home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages (from requests[socks]->gdown) (1.7.1)\n", - "Downloading...\n", - "From (original): https://drive.google.com/uc?id=1IoEJZFFixcNtPPKeKZfD_xSJSFQCbawl\n", - "From (redirected): https://drive.google.com/uc?id=1IoEJZFFixcNtPPKeKZfD_xSJSFQCbawl&confirm=t&uuid=d65df8b8-9813-4fd7-9d5c-c3a7a18fbab0\n", - "To: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/mednist_classifier_data.zip\n", - "100%|██████████████████████████████████████| 28.6M/28.6M [00:00<00:00, 36.7MB/s]\n" - ] - } - ], + "outputs": [], "source": [ - "# Download mednist_classifier_data.zip\n", - "!pip install gdown\n", - "!gdown \"https://drive.google.com/uc?id=1IoEJZFFixcNtPPKeKZfD_xSJSFQCbawl\" # Redundant if already manually downloaded the file to avoid permission issue." + "import os\n", + "data_dir = os.path.join(os.path.curdir, \"mednist_classifier_data.zip\")\n", + "if not os.path.exists(data_dir):\n", + " # Download mednist_classifier_data.zip\n", + " !pip install gdown\n", + " !gdown \"https://drive.google.com/uc?id=1IoEJZFFixcNtPPKeKZfD_xSJSFQCbawl\" # Redundant if already manually downloaded the file to avoid permission issue." ] }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 59, "metadata": {}, "outputs": [ { @@ -229,7 +215,7 @@ "!rm -rf {input_folder}\n", "!unzip -o \"mednist_classifier_data.zip\"\n", "\n", - "# Need to copy the model file to its own clean subfolder for pacakging, to workaround an issue in the Packager\n", + "# Need to copy the model file to its own clean subfolder for packaging, to workaround an issue in the Packager\n", "models_folder = \"models\"\n", "!rm -rf {models_folder} && mkdir -p {models_folder}/model && cp classifier.zip {models_folder}/model && ls {models_folder}/model" ] @@ -240,14 +226,14 @@ "metadata": {}, "source": [ "### Set up environment variables\n", - "The application uses well-known enviornment variables for the input/output data path, working dir, as well as AI model file path if applicable. Defaults are used if these environment variable are absent.\n", + "The application uses well-known environment variables for the input/output data path, working dir, as well as AI model file path if applicable. Defaults are used if these environment variable are absent.\n", "\n", "Set the environment variables corresponding to the extracted data path." ] }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 60, "metadata": {}, "outputs": [ { @@ -283,23 +269,23 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 61, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[2025-01-16 15:25:15,655] [INFO] (common) - Downloading CLI manifest file...\n", - "[2025-01-16 15:25:15,916] [DEBUG] (common) - Validating CLI manifest file...\n", - "[2025-01-16 15:25:15,917] [INFO] (packager.parameters) - Application: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/source/examples/apps/mednist_classifier_monaideploy/mednist_classifier_monaideploy.py\n", - "[2025-01-16 15:25:15,917] [INFO] (packager.parameters) - Detected application type: Python File\n", - "[2025-01-16 15:25:15,918] [INFO] (packager) - Scanning for models in /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models...\n", - "[2025-01-16 15:25:15,918] [DEBUG] (packager) - Model model=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models/model added.\n", - "[2025-01-16 15:25:15,918] [INFO] (packager) - Reading application configuration from /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/source/examples/apps/mednist_classifier_monaideploy/app.yaml...\n", - "[2025-01-16 15:25:15,924] [INFO] (packager) - Generating app.json...\n", - "[2025-01-16 15:25:15,924] [INFO] (packager) - Generating pkg.json...\n", - "[2025-01-16 15:25:15,928] [DEBUG] (common) - \n", + "[2025-01-29 12:12:36,857] [INFO] (common) - Downloading CLI manifest file...\n", + "[2025-01-29 12:12:36,871] [DEBUG] (common) - Validating CLI manifest file...\n", + "[2025-01-29 12:12:36,871] [INFO] (packager.parameters) - Application: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/source/examples/apps/mednist_classifier_monaideploy/mednist_classifier_monaideploy.py\n", + "[2025-01-29 12:12:36,871] [INFO] (packager.parameters) - Detected application type: Python File\n", + "[2025-01-29 12:12:36,871] [INFO] (packager) - Scanning for models in /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models...\n", + "[2025-01-29 12:12:36,871] [DEBUG] (packager) - Model model=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models/model added.\n", + "[2025-01-29 12:12:36,872] [INFO] (packager) - Reading application configuration from /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/source/examples/apps/mednist_classifier_monaideploy/app.yaml...\n", + "[2025-01-29 12:12:36,874] [INFO] (packager) - Generating app.json...\n", + "[2025-01-29 12:12:36,874] [INFO] (packager) - Generating pkg.json...\n", + "[2025-01-29 12:12:36,876] [DEBUG] (common) - \n", "=============== Begin app.json ===============\n", "{\n", " \"apiVersion\": \"1.0.0\",\n", @@ -334,7 +320,7 @@ "}\n", "================ End app.json ================\n", " \n", - "[2025-01-16 15:25:15,928] [DEBUG] (common) - \n", + "[2025-01-29 12:12:36,876] [DEBUG] (common) - \n", "=============== Begin pkg.json ===============\n", "{\n", " \"apiVersion\": \"1.0.0\",\n", @@ -354,7 +340,7 @@ "}\n", "================ End pkg.json ================\n", " \n", - "[2025-01-16 15:25:15,966] [DEBUG] (packager.builder) - \n", + "[2025-01-29 12:12:36,901] [DEBUG] (packager.builder) - \n", "========== Begin Build Parameters ==========\n", "{'additional_lib_paths': '',\n", " 'app_config_file_path': PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/source/examples/apps/mednist_classifier_monaideploy/app.yaml'),\n", @@ -373,7 +359,7 @@ " 'full_input_path': PosixPath('/var/holoscan/input'),\n", " 'full_output_path': PosixPath('/var/holoscan/output'),\n", " 'gid': 1000,\n", - " 'holoscan_sdk_version': '2.8.0',\n", + " 'holoscan_sdk_version': '2.9.0',\n", " 'includes': [],\n", " 'input_dir': 'input/',\n", " 'lib_dir': PosixPath('/opt/holoscan/lib'),\n", @@ -397,7 +383,7 @@ " 'working_dir': PosixPath('/var/holoscan')}\n", "=========== End Build Parameters ===========\n", "\n", - "[2025-01-16 15:25:15,967] [DEBUG] (packager.builder) - \n", + "[2025-01-29 12:12:36,902] [DEBUG] (packager.builder) - \n", "========== Begin Platform Parameters ==========\n", "{'base_image': 'nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04',\n", " 'build_image': None,\n", @@ -407,15 +393,15 @@ " 'custom_monai_deploy_sdk': False,\n", " 'gpu_type': 'dgpu',\n", " 'holoscan_deb_arch': 'amd64',\n", - " 'holoscan_sdk_file': '2.8.0',\n", - " 'holoscan_sdk_filename': '2.8.0',\n", + " 'holoscan_sdk_file': '2.9.0',\n", + " 'holoscan_sdk_filename': '2.9.0',\n", " 'monai_deploy_sdk_file': None,\n", " 'monai_deploy_sdk_filename': None,\n", " 'tag': 'mednist_app:1.0',\n", " 'target_arch': 'x86_64'}\n", "=========== End Platform Parameters ===========\n", "\n", - "[2025-01-16 15:25:16,013] [DEBUG] (packager.builder) - \n", + "[2025-01-29 12:12:36,919] [DEBUG] (packager.builder) - \n", "========== Begin Dockerfile ==========\n", "\n", "ARG GPU_TYPE=dgpu\n", @@ -479,7 +465,7 @@ "LABEL tag=\"mednist_app:1.0\"\n", "LABEL org.opencontainers.image.title=\"MONAI Deploy App Package - MedNIST Classifier App\"\n", "LABEL org.opencontainers.image.version=\"1.0\"\n", - "LABEL org.nvidia.holoscan=\"2.8.0\"\n", + "LABEL org.nvidia.holoscan=\"2.9.0\"\n", "\n", "LABEL org.monai.deploy.app-sdk=\"2.0.0\"\n", "\n", @@ -494,7 +480,7 @@ "ENV HOLOSCAN_APP_MANIFEST_PATH=/etc/holoscan/app.json\n", "ENV HOLOSCAN_PKG_MANIFEST_PATH=/etc/holoscan/pkg.json\n", "ENV HOLOSCAN_LOGS_PATH=/var/holoscan/logs\n", - "ENV HOLOSCAN_VERSION=2.8.0\n", + "ENV HOLOSCAN_VERSION=2.9.0\n", "\n", "\n", "\n", @@ -569,7 +555,7 @@ "ENTRYPOINT [\"/var/holoscan/tools\"]\n", "=========== End Dockerfile ===========\n", "\n", - "[2025-01-16 15:25:16,014] [INFO] (packager.builder) - \n", + "[2025-01-29 12:12:36,920] [INFO] (packager.builder) - \n", "===============================================================================\n", "Building image for: x64-workstation\n", " Architecture: linux/amd64\n", @@ -577,175 +563,157 @@ " Build Image: N/A\n", " Cache: Enabled\n", " Configuration: dgpu\n", - " Holoscan SDK Package: 2.8.0\n", + " Holoscan SDK Package: 2.9.0\n", " MONAI Deploy App SDK Package: N/A\n", " gRPC Health Probe: N/A\n", - " SDK Version: 2.8.0\n", + " SDK Version: 2.9.0\n", " SDK: monai-deploy\n", " Tag: mednist_app-x64-workstation-dgpu-linux-amd64:1.0\n", " Included features/dependencies: N/A\n", " \n", - "[2025-01-16 15:25:16,839] [INFO] (common) - Using existing Docker BuildKit builder `holoscan_app_builder`\n", - "[2025-01-16 15:25:16,840] [DEBUG] (packager.builder) - Building Holoscan Application Package: tag=mednist_app-x64-workstation-dgpu-linux-amd64:1.0\n", + "[2025-01-29 12:12:37,236] [INFO] (common) - Using existing Docker BuildKit builder `holoscan_app_builder`\n", + "[2025-01-29 12:12:37,236] [DEBUG] (packager.builder) - Building Holoscan Application Package: tag=mednist_app-x64-workstation-dgpu-linux-amd64:1.0\n", "#0 building with \"holoscan_app_builder\" instance using docker-container driver\n", "\n", "#1 [internal] load build definition from Dockerfile\n", - "#1 transferring dockerfile:\n", - "#1 transferring dockerfile: 4.57kB 0.0s done\n", + "#1 transferring dockerfile: 4.57kB done\n", "#1 DONE 0.1s\n", "\n", - "#2 [auth] nvidia/cuda:pull token for nvcr.io\n", - "#2 DONE 0.0s\n", + "#2 [internal] load metadata for nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", + "#2 DONE 0.1s\n", "\n", - "#3 [internal] load metadata for nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", - "#3 DONE 0.4s\n", + "#3 [internal] load .dockerignore\n", + "#3 transferring context: 1.80kB done\n", + "#3 DONE 0.1s\n", "\n", - "#4 [internal] load .dockerignore\n", - "#4 transferring context: 1.79kB done\n", - "#4 DONE 0.1s\n", + "#4 importing cache manifest from nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", + "#4 ...\n", "\n", - "#5 importing cache manifest from nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", - "#5 ...\n", + "#5 [internal] load build context\n", + "#5 DONE 0.0s\n", "\n", - "#6 [internal] load build context\n", + "#6 importing cache manifest from local:16465729945619348226\n", + "#6 inferred cache manifest type: application/vnd.oci.image.index.v1+json done\n", "#6 DONE 0.0s\n", "\n", - "#7 importing cache manifest from local:17114664432413636321\n", - "#7 inferred cache manifest type: application/vnd.oci.image.index.v1+json done\n", + "#7 [base 1/2] FROM nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04@sha256:22fc009e5cea0b8b91d94c99fdd419d2366810b5ea835e47b8343bc15800c186\n", + "#7 resolve nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04@sha256:22fc009e5cea0b8b91d94c99fdd419d2366810b5ea835e47b8343bc15800c186 0.0s done\n", "#7 DONE 0.0s\n", "\n", - "#8 [base 1/2] FROM nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04@sha256:22fc009e5cea0b8b91d94c99fdd419d2366810b5ea835e47b8343bc15800c186\n", - "#8 resolve nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04@sha256:22fc009e5cea0b8b91d94c99fdd419d2366810b5ea835e47b8343bc15800c186 0.0s done\n", - "#8 DONE 0.1s\n", + "#4 importing cache manifest from nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", + "#4 inferred cache manifest type: application/vnd.docker.distribution.manifest.list.v2+json done\n", + "#4 DONE 0.4s\n", "\n", - "#5 importing cache manifest from nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", - "#5 inferred cache manifest type: application/vnd.docker.distribution.manifest.list.v2+json done\n", - "#5 DONE 0.8s\n", + "#5 [internal] load build context\n", + "#5 transferring context: 28.60MB 0.2s done\n", + "#5 DONE 0.3s\n", "\n", - "#6 [internal] load build context\n", - "#6 transferring context: 28.60MB 0.2s done\n", - "#6 DONE 0.3s\n", + "#8 [release 2/18] RUN apt update && apt-get install -y --no-install-recommends --no-install-suggests python3-minimal=3.10.6-1~22.04 libpython3-stdlib=3.10.6-1~22.04 python3=3.10.6-1~22.04 python3-venv=3.10.6-1~22.04 python3-pip=22.0.2+dfsg-* && rm -rf /var/lib/apt/lists/*\n", + "#8 CACHED\n", "\n", - "#9 [release 10/18] COPY ./pip/requirements.txt /tmp/requirements.txt\n", + "#9 [release 12/18] RUN pip install --no-cache-dir --user -r /tmp/requirements.txt\n", "#9 CACHED\n", "\n", - "#10 [release 6/18] WORKDIR /var/holoscan\n", + "#10 [release 5/18] RUN chown -R holoscan /var/holoscan && chown -R holoscan /var/holoscan/input && chown -R holoscan /var/holoscan/output\n", "#10 CACHED\n", "\n", - "#11 [release 8/18] RUN chmod +x /var/holoscan/tools\n", + "#11 [release 10/18] COPY ./pip/requirements.txt /tmp/requirements.txt\n", "#11 CACHED\n", "\n", - "#12 [release 2/18] RUN apt update && apt-get install -y --no-install-recommends --no-install-suggests python3-minimal=3.10.6-1~22.04 libpython3-stdlib=3.10.6-1~22.04 python3=3.10.6-1~22.04 python3-venv=3.10.6-1~22.04 python3-pip=22.0.2+dfsg-* && rm -rf /var/lib/apt/lists/*\n", + "#12 [release 17/18] COPY ./map/pkg.json /etc/holoscan/pkg.json\n", "#12 CACHED\n", "\n", - "#13 [release 5/18] RUN chown -R holoscan /var/holoscan && chown -R holoscan /var/holoscan/input && chown -R holoscan /var/holoscan/output\n", + "#13 [release 3/18] RUN groupadd -f -g 1000 holoscan\n", "#13 CACHED\n", "\n", "#14 [base 2/2] RUN apt-get update && apt-get install -y --no-install-recommends --no-install-suggests curl jq && rm -rf /var/lib/apt/lists/*\n", "#14 CACHED\n", "\n", - "#15 [release 1/18] RUN mkdir -p /etc/holoscan/ && mkdir -p /opt/holoscan/ && mkdir -p /var/holoscan && mkdir -p /opt/holoscan/app && mkdir -p /var/holoscan/input && mkdir -p /var/holoscan/output\n", + "#15 [release 9/18] WORKDIR /var/holoscan\n", "#15 CACHED\n", "\n", - "#16 [release 4/18] RUN useradd -rm -d /home/holoscan -s /bin/bash -g 1000 -G sudo -u 1000 holoscan\n", + "#16 [release 7/18] COPY ./tools /var/holoscan/tools\n", "#16 CACHED\n", "\n", - "#17 [release 7/18] COPY ./tools /var/holoscan/tools\n", + "#17 [release 6/18] WORKDIR /var/holoscan\n", "#17 CACHED\n", "\n", - "#18 [release 12/18] RUN pip install --no-cache-dir --user -r /tmp/requirements.txt\n", + "#18 [release 16/18] COPY ./app.config /var/holoscan/app.yaml\n", "#18 CACHED\n", "\n", - "#19 [release 3/18] RUN groupadd -f -g 1000 holoscan\n", + "#19 [release 14/18] COPY ./models /opt/holoscan/models\n", "#19 CACHED\n", "\n", "#20 [release 11/18] RUN pip install --upgrade pip\n", "#20 CACHED\n", "\n", - "#21 [release 9/18] WORKDIR /var/holoscan\n", + "#21 [release 8/18] RUN chmod +x /var/holoscan/tools\n", "#21 CACHED\n", "\n", - "#22 [release 13/18] RUN pip install monai-deploy-app-sdk==2.0.0\n", + "#22 [release 15/18] COPY ./map/app.json /etc/holoscan/app.json\n", "#22 CACHED\n", "\n", - "#23 [release 14/18] COPY ./models /opt/holoscan/models\n", - "#23 DONE 0.6s\n", - "\n", - "#24 [release 15/18] COPY ./map/app.json /etc/holoscan/app.json\n", - "#24 DONE 0.2s\n", - "\n", - "#25 [release 16/18] COPY ./app.config /var/holoscan/app.yaml\n", - "#25 DONE 0.2s\n", - "\n", - "#26 [release 17/18] COPY ./map/pkg.json /etc/holoscan/pkg.json\n", - "#26 DONE 0.2s\n", - "\n", - "#27 [release 18/18] COPY ./app /opt/holoscan/app\n", - "#27 DONE 0.2s\n", - "\n", - "#28 exporting to docker image format\n", - "#28 exporting layers\n", - "#28 exporting layers 1.9s done\n", - "#28 exporting manifest sha256:afbc907fa0a369a2f16f26a77411e7649a79063efffcf7cf5adad38183291b94 0.0s done\n", - "#28 exporting config sha256:5c1b6f89e061f5f67b24c8cf506f572b2c000c5585b641a9c46ebe77dbc76788 0.0s done\n", - "#28 sending tarball\n", - "#28 ...\n", - "\n", - "#29 importing to docker\n", - "#29 loading layer dd1c2998eccf 262.14kB / 25.59MB\n", - "#29 loading layer a8f3aa43fe53 512B / 512B\n", - "#29 loading layer 5be43d70908a 696B / 696B\n", - "#29 loading layer 74efae286fce 299B / 299B\n", - "#29 loading layer 68ee590555d3 4.17kB / 4.17kB\n", - "#29 loading layer 68ee590555d3 4.17kB / 4.17kB 0.4s done\n", - "#29 loading layer dd1c2998eccf 262.14kB / 25.59MB 0.9s done\n", - "#29 loading layer a8f3aa43fe53 512B / 512B 0.5s done\n", - "#29 loading layer 5be43d70908a 696B / 696B 0.5s done\n", - "#29 loading layer 74efae286fce 299B / 299B 0.4s done\n", - "#29 DONE 0.9s\n", - "\n", - "#28 exporting to docker image format\n", - "#28 sending tarball 50.5s done\n", - "#28 DONE 52.5s\n", - "\n", - "#30 exporting cache to client directory\n", - "#30 preparing build cache for export\n", - "#30 writing layer sha256:1a0d52c93099897b518eb6cc6cd0fa3d52ff733e8606b4d8c92675ba9e7101ff\n", - "#30 writing layer sha256:1a0d52c93099897b518eb6cc6cd0fa3d52ff733e8606b4d8c92675ba9e7101ff 0.0s done\n", - "#30 writing layer sha256:234b866f57e0c5d555af2d87a1857a17ec4ac7e70d2dc6c31ff0a072a4607f24 done\n", - "#30 writing layer sha256:255905badeaa82f032e1043580eed8b745c19cd4a2cb7183883ee5a30f851d6d done\n", - "#30 writing layer sha256:3713021b02770a720dea9b54c03d0ed83e03a2ef5dce2898c56a327fee9a8bca done\n", - "#30 writing layer sha256:3a80776cdc9c9ef79bb38510849c9160f82462d346bf5a8bf29c811391b4e763 done\n", - "#30 writing layer sha256:41e173df84c503c9e717e0e67c22260d4e6bb14660577b225dec5733b4155a78 done\n", - "#30 writing layer sha256:46c9c54348df10b0d7700bf932d5de7dc5bf9ab91e685db7086e29e381ff8e12 done\n", - "#30 writing layer sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 done\n", - "#30 writing layer sha256:67b3546b211deefd67122e680c0932886e0b3c6bd6ae0665e3ab25d2d9f0cda0 done\n", - "#30 writing layer sha256:69a43436b2ce855cf28cf641ceb9106bf500f2cb12e3a07cbae366c79d72be7c\n", - "#30 writing layer sha256:69a43436b2ce855cf28cf641ceb9106bf500f2cb12e3a07cbae366c79d72be7c 0.5s done\n", - "#30 writing layer sha256:6cb8bb8a1d4ff0968b1928e3a7c2a7a5c29934ce062651403efa8169f1ef2f22\n", - "#30 writing layer sha256:6cb8bb8a1d4ff0968b1928e3a7c2a7a5c29934ce062651403efa8169f1ef2f22 done\n", - "#30 writing layer sha256:729bf790873c4425097dd140c6a8fc2f6b8f0a583c05665cfcdde34bcde55a71 0.0s done\n", - "#30 writing layer sha256:94ea8fe9174939142272c5d49e179ba19f357ea997b5d4f3900d1fb7d4fe6707 done\n", - "#30 writing layer sha256:95d5aad5207ff23e9733fd253a606be845749054783466d8c9a3f73d0a2d25b8 0.0s done\n", - "#30 writing layer sha256:980c13e156f90218b216bc6b0430472bbda71c0202804d350c0e16ef02075885 done\n", - "#30 writing layer sha256:9b72862f620f8b7b4f1fb1e44a1e06c5121b21f1ff5132364cc7cc00f883abd1 0.0s done\n", - "#30 writing layer sha256:a40bb4ae02b3d3fa186140aaca178144ef5d504f6581bcd05af95b357c082116 done\n", - "#30 writing layer sha256:ac52600be001236a2c291a4c5902c915bf5ec9d2441c06d2a54c587b76345847 done\n", - "#30 writing layer sha256:b3a705dd063a4b184f4ae8095ca2eba91e8aa4eb2a0a561b869c06d85ec83929\n", - "#30 preparing build cache for export 1.0s done\n", - "#30 writing layer sha256:b3a705dd063a4b184f4ae8095ca2eba91e8aa4eb2a0a561b869c06d85ec83929 0.0s done\n", - "#30 writing layer sha256:bc25d810fc1fd99656c1b07d422e88cdb896508730175bc3ec187b79f3787044 done\n", - "#30 writing layer sha256:c0e9112106766f6d918279426468ca3a81ddca90d82a7e3e41ed3d96b0464a94 done\n", - "#30 writing layer sha256:c8937b741c9ecd6b257aeb18daf07eddbf1c77b0c93f9ba4164faa8353cd1d3c done\n", - "#30 writing layer sha256:d339273dfb7fc3b7fd896d3610d360ab9a09ab33a818093cb73b4be7639b6e99 done\n", - "#30 writing layer sha256:e540d242f419a27800d601d7275f4fbb3488b97d209b454f52e63f1eb413a912 done\n", - "#30 writing layer sha256:efc9014e2a4cb1e133b80bb4f047e9141e98685eb95b8d2471a8e35b86643e31 done\n", - "#30 writing layer sha256:fcb63189ed471f44270645dedc0ac5966ac9fa2ef705eb6d2678e7695ceebb95 done\n", - "#30 writing layer sha256:fd70b1234d70e071e4309175d0612d1ae9984e18bdaf1a1426dd218b747427bc done\n", - "#30 writing config sha256:e49757ae9f8e6f65b6803fe303ffd44430c2d32fdc429bc50c8b7262f20d89d0 0.0s done\n", - "#30 writing cache manifest sha256:968ad4e004ca52bdfb4f7686b9cab58437499e739f9670ddab325f23501545da 0.0s done\n", - "#30 DONE 1.0s\n", - "[2025-01-16 15:26:14,630] [INFO] (packager) - Build Summary:\n", + "#23 [release 4/18] RUN useradd -rm -d /home/holoscan -s /bin/bash -g 1000 -G sudo -u 1000 holoscan\n", + "#23 CACHED\n", + "\n", + "#24 [release 13/18] RUN pip install monai-deploy-app-sdk==2.0.0\n", + "#24 CACHED\n", + "\n", + "#25 [release 1/18] RUN mkdir -p /etc/holoscan/ && mkdir -p /opt/holoscan/ && mkdir -p /var/holoscan && mkdir -p /opt/holoscan/app && mkdir -p /var/holoscan/input && mkdir -p /var/holoscan/output\n", + "#25 CACHED\n", + "\n", + "#26 [release 18/18] COPY ./app /opt/holoscan/app\n", + "#26 CACHED\n", + "\n", + "#27 exporting to docker image format\n", + "#27 exporting layers done\n", + "#27 exporting manifest sha256:0b41598c260304f5f4973c45507027d6f6d311cf96b376966f1bb76389f67124 0.0s done\n", + "#27 exporting config sha256:709aec1f6ab81acd9aca94f56c56022d894fd418e507ce39c07cfa36c5d1df5e 0.0s done\n", + "#27 sending tarball\n", + "#27 ...\n", + "\n", + "#28 importing to docker\n", + "#28 DONE 0.3s\n", + "\n", + "#27 exporting to docker image format\n", + "#27 sending tarball 42.6s done\n", + "#27 DONE 42.6s\n", + "\n", + "#29 exporting cache to client directory\n", + "#29 preparing build cache for export\n", + "#29 writing layer sha256:067153055e77a79b3715e3a56caac895ee686a2fa6cadc4423c28d2eb20f0542\n", + "#29 preparing build cache for export 0.2s done\n", + "#29 writing layer sha256:067153055e77a79b3715e3a56caac895ee686a2fa6cadc4423c28d2eb20f0542 done\n", + "#29 writing layer sha256:1a0d52c93099897b518eb6cc6cd0fa3d52ff733e8606b4d8c92675ba9e7101ff done\n", + "#29 writing layer sha256:1aec4523578214a9e9ce44e1d35ef14baaa0adc445ee1d6c04b7a1410286be38 done\n", + "#29 writing layer sha256:234b866f57e0c5d555af2d87a1857a17ec4ac7e70d2dc6c31ff0a072a4607f24 done\n", + "#29 writing layer sha256:255905badeaa82f032e1043580eed8b745c19cd4a2cb7183883ee5a30f851d6d done\n", + "#29 writing layer sha256:2662727f69a3c4fe16ed7b9563dc330c8e3d78c0e96c6f7452c9feebf4240230 done\n", + "#29 writing layer sha256:2c27de1203ae9e9310d46119db6142d91f2dc9f3696febdeda1f19fc94cc322e done\n", + "#29 writing layer sha256:2eab43e0230c8932e1ecc65ee0bfb04e09997d2fe628464a9aeee2e7c3342e70 done\n", + "#29 writing layer sha256:3713021b02770a720dea9b54c03d0ed83e03a2ef5dce2898c56a327fee9a8bca done\n", + "#29 writing layer sha256:3a80776cdc9c9ef79bb38510849c9160f82462d346bf5a8bf29c811391b4e763 done\n", + "#29 writing layer sha256:3d39307d2f870435b87759c9c8fc19aef39983c9770bacebcfcffe4995566ace done\n", + "#29 writing layer sha256:440849e3569a74baf883d1a14010854807280727ba17c36f82beee5b7d5052b2 done\n", + "#29 writing layer sha256:46c9c54348df10b0d7700bf932d5de7dc5bf9ab91e685db7086e29e381ff8e12 done\n", + "#29 writing layer sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 done\n", + "#29 writing layer sha256:661c1acfe226bb081b6c704a60812b6478d91d96b5fd54809955559a13e1de7a done\n", + "#29 writing layer sha256:67b3546b211deefd67122e680c0932886e0b3c6bd6ae0665e3ab25d2d9f0cda0 done\n", + "#29 writing layer sha256:695ba418a525cecd1c5442c010ea5f070327d38dfa8f533e63ae845fc3660be8 done\n", + "#29 writing layer sha256:980c13e156f90218b216bc6b0430472bbda71c0202804d350c0e16ef02075885 done\n", + "#29 writing layer sha256:9c13069733b0b63267a044a5a9096728e6abacbc29bc2c95c5f612d18fddd5c0 done\n", + "#29 writing layer sha256:a86de304afb6316ba8fdb2348e518ea07b80a2bae0094710c44433a2f21f0179 done\n", + "#29 writing layer sha256:ac52600be001236a2c291a4c5902c915bf5ec9d2441c06d2a54c587b76345847 done\n", + "#29 writing layer sha256:bc25d810fc1fd99656c1b07d422e88cdb896508730175bc3ec187b79f3787044 done\n", + "#29 writing layer sha256:be0dad9c160128582482df5e64337c99c213a48988d5d12d453bd03bc2a4c1b1 done\n", + "#29 writing layer sha256:c94af7742e07c9041104260b79637c243ef8dd25eb4241f06ef1a3899a99f2bd done\n", + "#29 writing layer sha256:d339273dfb7fc3b7fd896d3610d360ab9a09ab33a818093cb73b4be7639b6e99 done\n", + "#29 writing layer sha256:db35cf0f285944390b7654050f2f598898d655184084cf06a69ec9b97ce0aef7 done\n", + "#29 writing layer sha256:efc9014e2a4cb1e133b80bb4f047e9141e98685eb95b8d2471a8e35b86643e31 done\n", + "#29 writing config sha256:5dc9836ff3abdef93b2f148be23a0b066d0a7a2852c914b765917464c3015748 done\n", + "#29 writing cache manifest sha256:1010d1046d6cbc0e3d13f82a6ae20739105dc9f11c703119f1961a90c2f5851e done\n", + "#29 DONE 0.2s\n", + "[2025-01-29 12:13:21,748] [INFO] (packager) - Build Summary:\n", "\n", "Platform: x64-workstation/dgpu\n", " Status: Succeeded\n", @@ -769,14 +737,14 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 62, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "mednist_app-x64-workstation-dgpu-linux-amd64 1.0 5c1b6f89e061 55 seconds ago 8.6GB\n" + "mednist_app-x64-workstation-dgpu-linux-amd64 1.0 709aec1f6ab8 19 hours ago 8.62GB\n" ] } ], @@ -798,7 +766,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 63, "metadata": {}, "outputs": [ { @@ -858,16 +826,16 @@ " \"platformConfig\": \"dgpu\"\n", "}\n", "\n", - "2025-01-16 23:26:18 [INFO] Copying application from /opt/holoscan/app to /var/run/holoscan/export/app\n", + "2025-01-29 20:13:24 [INFO] Copying application from /opt/holoscan/app to /var/run/holoscan/export/app\n", "\n", - "2025-01-16 23:26:18 [INFO] Copying application manifest file from /etc/holoscan/app.json to /var/run/holoscan/export/config/app.json\n", - "2025-01-16 23:26:18 [INFO] Copying pkg manifest file from /etc/holoscan/pkg.json to /var/run/holoscan/export/config/pkg.json\n", - "2025-01-16 23:26:18 [INFO] Copying application configuration from /var/holoscan/app.yaml to /var/run/holoscan/export/config/app.yaml\n", + "2025-01-29 20:13:24 [INFO] Copying application manifest file from /etc/holoscan/app.json to /var/run/holoscan/export/config/app.json\n", + "2025-01-29 20:13:24 [INFO] Copying pkg manifest file from /etc/holoscan/pkg.json to /var/run/holoscan/export/config/pkg.json\n", + "2025-01-29 20:13:24 [INFO] Copying application configuration from /var/holoscan/app.yaml to /var/run/holoscan/export/config/app.yaml\n", "\n", - "2025-01-16 23:26:18 [INFO] Copying models from /opt/holoscan/models to /var/run/holoscan/export/models\n", + "2025-01-29 20:13:24 [INFO] Copying models from /opt/holoscan/models to /var/run/holoscan/export/models\n", "\n", - "2025-01-16 23:26:18 [INFO] Copying documentation from /opt/holoscan/docs/ to /var/run/holoscan/export/docs\n", - "2025-01-16 23:26:18 [INFO] '/opt/holoscan/docs/' cannot be found.\n", + "2025-01-29 20:13:24 [INFO] Copying documentation from /opt/holoscan/docs/ to /var/run/holoscan/export/docs\n", + "2025-01-29 20:13:24 [INFO] '/opt/holoscan/docs/' cannot be found.\n", "\n", "app config models\n" ] @@ -892,29 +860,30 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 64, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[2025-01-16 15:26:20,643] [INFO] (runner) - Checking dependencies...\n", - "[2025-01-16 15:26:20,643] [INFO] (runner) - --> Verifying if \"docker\" is installed...\n", + "[2025-01-29 12:13:26,378] [INFO] (runner) - Checking dependencies...\n", + "[2025-01-29 12:13:26,378] [INFO] (runner) - --> Verifying if \"docker\" is installed...\n", "\n", - "[2025-01-16 15:26:20,644] [INFO] (runner) - --> Verifying if \"docker-buildx\" is installed...\n", + "[2025-01-29 12:13:26,378] [INFO] (runner) - --> Verifying if \"docker-buildx\" is installed...\n", "\n", - "[2025-01-16 15:26:20,646] [INFO] (runner) - --> Verifying if \"mednist_app-x64-workstation-dgpu-linux-amd64:1.0\" is available...\n", + "[2025-01-29 12:13:26,378] [INFO] (runner) - --> Verifying if \"mednist_app-x64-workstation-dgpu-linux-amd64:1.0\" is available...\n", "\n", - "[2025-01-16 15:26:20,837] [INFO] (runner) - Reading HAP/MAP manifest...\n", - "Successfully copied 2.56kB to /tmp/tmpwakl5ani/app.json\n", - "Successfully copied 2.05kB to /tmp/tmpwakl5ani/pkg.json\n", - "[2025-01-16 15:26:21,167] [INFO] (runner) - --> Verifying if \"nvidia-ctk\" is installed...\n", + "[2025-01-29 12:13:26,457] [INFO] (runner) - Reading HAP/MAP manifest...\n", + "Successfully copied 2.56kB to /tmp/tmp37cky0tg/app.json\n", + "Successfully copied 2.05kB to /tmp/tmp37cky0tg/pkg.json\n", + "8b09681d6e2452afa9a9506bd30dc868461412ea13e53a3913f9054fe877e4e0\n", + "[2025-01-29 12:13:26,739] [INFO] (runner) - --> Verifying if \"nvidia-ctk\" is installed...\n", "\n", - "[2025-01-16 15:26:21,169] [INFO] (runner) - --> Verifying \"nvidia-ctk\" version...\n", + "[2025-01-29 12:13:26,739] [INFO] (runner) - --> Verifying \"nvidia-ctk\" version...\n", "\n", - "[2025-01-16 15:26:21,592] [INFO] (common) - Launching container (06dd3af216d1) using image 'mednist_app-x64-workstation-dgpu-linux-amd64:1.0'...\n", - " container name: angry_einstein\n", + "[2025-01-29 12:13:27,109] [INFO] (common) - Launching container (6900c4ea8775) using image 'mednist_app-x64-workstation-dgpu-linux-amd64:1.0'...\n", + " container name: frosty_gould\n", " host name: mingq-dt\n", " network: host\n", " user: 1000:1000\n", @@ -924,37 +893,59 @@ " shared memory size: 67108864\n", " devices: \n", " group_add: 44\n", - "2025-01-16 23:26:22 [INFO] Launching application python3 /opt/holoscan/app/mednist_classifier_monaideploy.py ...\n", + "2025-01-29 20:13:27 [INFO] Launching application python3 /opt/holoscan/app/mednist_classifier_monaideploy.py ...\n", + "\n", + "[info] [fragment.cpp:599] Loading extensions from configs...\n", + "\n", + "[info] [gxf_executor.cpp:264] Creating context\n", + "\n", + "[2025-01-29 20:13:32,718] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=['/opt/holoscan/app/mednist_classifier_monaideploy.py'])\n", + "\n", + "[2025-01-29 20:13:32,723] [INFO] (root) - AppContext object: AppContext(input_path=/var/holoscan/input, output_path=/var/holoscan/output, model_path=/opt/holoscan/models, workdir=/var/holoscan)\n", + "\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'output_folder'\n", + "\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'text'\n", + "\n", + "[info] [gxf_executor.cpp:2208] Activating Graph...\n", "\n", - "Traceback (most recent call last):\n", + "[info] [gxf_executor.cpp:2238] Running Graph...\n", "\n", - " File \"/opt/holoscan/app/mednist_classifier_monaideploy.py\", line 19, in \n", + "[info] [gxf_executor.cpp:2240] Waiting for completion...\n", "\n", - " from monai.deploy.conditions import CountCondition\n", + "[info] [greedy_scheduler.cpp:191] Scheduling 3 entities\n", + "\n", + "/home/holoscan/.local/lib/python3.10/site-packages/monai/data/meta_tensor.py:116: UserWarning: The given NumPy array is not writable, and PyTorch does not support non-writable tensors. This means writing to this tensor will result in undefined behavior. You may want to copy the array to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at ../torch/csrc/utils/tensor_numpy.cpp:206.)\n", "\n", - " File \"/home/holoscan/.local/lib/python3.10/site-packages/monai/__init__.py\", line 101, in \n", + " return torch.as_tensor(x, *args, **_kwargs).as_subclass(cls)\n", "\n", - " load_submodules(sys.modules[__name__], False, exclude_pattern=excludes)\n", + "[2025-01-29 20:13:34,583] [WARNING] (pydicom) - 'Dataset.is_implicit_VR' will be removed in v4.0, set the Transfer Syntax UID or use the 'implicit_vr' argument with Dataset.save_as() or dcmwrite() instead\n", "\n", - " File \"/home/holoscan/.local/lib/python3.10/site-packages/monai/utils/module.py\", line 187, in load_submodules\n", + "[2025-01-29 20:13:34,583] [WARNING] (pydicom) - 'Dataset.is_little_endian' will be removed in v4.0, set the Transfer Syntax UID or use the 'little_endian' argument with Dataset.save_as() or dcmwrite() instead\n", "\n", - " mod = import_module(name)\n", + "[2025-01-29 20:13:34,586] [WARNING] (pydicom) - 'write_like_original' is deprecated and will be removed in v4.0, please use 'enforce_file_format' instead\n", "\n", - " File \"/usr/lib/python3.10/importlib/__init__.py\", line 126, in import_module\n", + "[2025-01-29 20:13:34,589] [INFO] (root) - Finished writing DICOM instance to file /var/holoscan/output/1.2.826.0.1.3680043.8.498.31374249995216483316246551805036524135.dcm\n", "\n", - " return _bootstrap._gcd_import(name[level:], package, level)\n", + "[2025-01-29 20:13:34,590] [INFO] (monai.deploy.operators.dicom_text_sr_writer_operator.DICOMTextSRWriterOperator) - DICOM SOP instance saved in /var/holoscan/output/1.2.826.0.1.3680043.8.498.31374249995216483316246551805036524135.dcm\n", + "\n", + "[info] [greedy_scheduler.cpp:372] Scheduler stopped: Some entities are waiting for execution, but there are no periodic or async entities to get out of the deadlock.\n", "\n", - " File \"/home/holoscan/.local/lib/python3.10/site-packages/monai/deploy/__init__.py\", line 23, in \n", + "[info] [greedy_scheduler.cpp:401] Scheduler finished.\n", "\n", - " from . import _version, conditions, core, exceptions, logger, resources, utils\n", + "[info] [gxf_executor.cpp:2243] Deactivating Graph...\n", "\n", - " File \"/home/holoscan/.local/lib/python3.10/site-packages/monai/deploy/core/__init__.py\", line 32, in \n", + "[info] [gxf_executor.cpp:2251] Graph execution finished.\n", "\n", - " from holoscan.core import *\n", + "[info] [gxf_executor.cpp:294] Destroying context\n", "\n", - "AttributeError: module 'holoscan.core' has no attribute 'MultiMessageConditionInfo'\n", + "AbdomenCT\n", "\n", - "[2025-01-16 15:26:30,695] [INFO] (common) - Container 'angry_einstein'(06dd3af216d1) exited.\n" + "[2025-01-29 12:13:35,983] [INFO] (common) - Container 'frosty_gould'(6900c4ea8775) exited.\n" ] } ], @@ -966,14 +957,14 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 65, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "cat: output/output.json: No such file or directory\n" + "\"AbdomenCT\"" ] } ], @@ -1019,7 +1010,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 66, "metadata": {}, "outputs": [], "source": [ @@ -1050,7 +1041,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 67, "metadata": {}, "outputs": [], "source": [ @@ -1121,7 +1112,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 68, "metadata": {}, "outputs": [], "source": [ @@ -1142,7 +1133,7 @@ "\n", " def __init__(\n", " self,\n", - " frament: Fragment,\n", + " fragment: Fragment,\n", " *args,\n", " app_context: AppContext,\n", " model_name: Optional[str] = \"\",\n", @@ -1169,7 +1160,7 @@ " # The name of the optional input port for passing data to override the output folder path.\n", " self.input_name_output_folder = \"output_folder\"\n", "\n", - " # The output folder set on the object can be overriden at each compute by data in the optional named input\n", + " # The output folder set on the object can be overridden at each compute by data in the optional named input\n", " self.output_folder = output_folder\n", "\n", " # Need the name when there are multiple models loaded\n", @@ -1180,7 +1171,7 @@ " self.model = self._get_model(self.app_context, self.model_path, self._model_name)\n", "\n", " # This needs to be at the end of the constructor.\n", - " super().__init__(frament, *args, **kwargs)\n", + " super().__init__(fragment, *args, **kwargs)\n", "\n", " def _get_model(self, app_context: AppContext, model_path: Path, model_name: str):\n", " \"\"\"Load the model with the given name from context or model path\n", @@ -1260,7 +1251,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 69, "metadata": {}, "outputs": [], "source": [ @@ -1311,35 +1302,31 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 70, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "[info] [fragment.cpp:588] Loading extensions from configs...\n", - "[2025-01-16 15:26:31,607] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=[])\n", - "[2025-01-16 15:26:31,631] [INFO] (root) - AppContext object: AppContext(input_path=input, output_path=output, model_path=models, workdir=)\n", - "[info] [gxf_executor.cpp:262] Creating context\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'output_folder'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'image'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'study_selected_series_list'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'text'\n", - "[info] [gxf_executor.cpp:2178] Activating Graph...\n", - "[info] [gxf_executor.cpp:2208] Running Graph...\n", - "[info] [gxf_executor.cpp:2210] Waiting for completion...\n", + "[info] [fragment.cpp:599] Loading extensions from configs...\n", + "[2025-01-29 12:13:36,663] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=[])\n", + "[2025-01-29 12:13:36,682] [INFO] (root) - AppContext object: AppContext(input_path=input, output_path=output, model_path=models, workdir=)\n", + "[info] [gxf_executor.cpp:264] Creating context\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'output_folder'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'text'\n", + "[info] [gxf_executor.cpp:2208] Activating Graph...\n", + "[info] [gxf_executor.cpp:2238] Running Graph...\n", + "[info] [gxf_executor.cpp:2240] Waiting for completion...\n", "[info] [greedy_scheduler.cpp:191] Scheduling 3 entities\n", - "/home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages/monai/data/meta_tensor.py:116: UserWarning: The given NumPy array is not writable, and PyTorch does not support non-writable tensors. This means writing to this tensor will result in undefined behavior. You may want to copy the array to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at ../torch/csrc/utils/tensor_numpy.cpp:206.)\n", - " return torch.as_tensor(x, *args, **_kwargs).as_subclass(cls)\n", - "[2025-01-16 15:26:34,118] [WARNING] (pydicom) - 'Dataset.is_implicit_VR' will be removed in v4.0, set the Transfer Syntax UID or use the 'implicit_vr' argument with Dataset.save_as() or dcmwrite() instead\n", - "[2025-01-16 15:26:34,122] [WARNING] (pydicom) - 'Dataset.is_little_endian' will be removed in v4.0, set the Transfer Syntax UID or use the 'little_endian' argument with Dataset.save_as() or dcmwrite() instead\n", - "[2025-01-16 15:26:34,127] [WARNING] (pydicom) - Invalid value for VR UI: 'xyz'. Please see for allowed values for each VR.\n", - "/home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages/pydicom/valuerep.py:440: UserWarning: Invalid value for VR UI: 'xyz'. Please see for allowed values for each VR.\n", - " warn_and_log(msg)\n", - "[2025-01-16 15:26:34,140] [WARNING] (pydicom) - 'write_like_original' is deprecated and will be removed in v4.0, please use 'enforce_file_format' instead\n", - "[2025-01-16 15:26:34,154] [INFO] (root) - Finished writing DICOM instance to file output/1.2.826.0.1.3680043.8.498.93995131736580848135236915797288568855.dcm\n", - "[2025-01-16 15:26:34,160] [INFO] (monai.deploy.operators.dicom_text_sr_writer_operator.DICOMTextSRWriterOperator) - DICOM SOP instance saved in output/1.2.826.0.1.3680043.8.498.93995131736580848135236915797288568855.dcm\n" + "[2025-01-29 12:13:37,924] [WARNING] (pydicom) - 'Dataset.is_implicit_VR' will be removed in v4.0, set the Transfer Syntax UID or use the 'implicit_vr' argument with Dataset.save_as() or dcmwrite() instead\n", + "[2025-01-29 12:13:37,926] [WARNING] (pydicom) - 'Dataset.is_little_endian' will be removed in v4.0, set the Transfer Syntax UID or use the 'little_endian' argument with Dataset.save_as() or dcmwrite() instead\n", + "[2025-01-29 12:13:37,928] [WARNING] (pydicom) - Invalid value for VR UI: 'xyz'. Please see for allowed values for each VR.\n", + "[2025-01-29 12:13:37,936] [WARNING] (pydicom) - 'write_like_original' is deprecated and will be removed in v4.0, please use 'enforce_file_format' instead\n", + "[2025-01-29 12:13:37,945] [INFO] (root) - Finished writing DICOM instance to file output/1.2.826.0.1.3680043.8.498.73614944052626475782727074691876362838.dcm\n", + "[2025-01-29 12:13:37,958] [INFO] (monai.deploy.operators.dicom_text_sr_writer_operator.DICOMTextSRWriterOperator) - DICOM SOP instance saved in output/1.2.826.0.1.3680043.8.498.73614944052626475782727074691876362838.dcm\n" ] }, { @@ -1355,9 +1342,9 @@ "text": [ "[info] [greedy_scheduler.cpp:372] Scheduler stopped: Some entities are waiting for execution, but there are no periodic or async entities to get out of the deadlock.\n", "[info] [greedy_scheduler.cpp:401] Scheduler finished.\n", - "[info] [gxf_executor.cpp:2213] Deactivating Graph...\n", - "[info] [gxf_executor.cpp:2221] Graph execution finished.\n", - "[info] [gxf_executor.cpp:292] Destroying context\n" + "[info] [gxf_executor.cpp:2243] Deactivating Graph...\n", + "[info] [gxf_executor.cpp:2251] Graph execution finished.\n", + "[info] [gxf_executor.cpp:294] Destroying context\n" ] } ], @@ -1368,7 +1355,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 71, "metadata": {}, "outputs": [ { @@ -1402,7 +1389,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 72, "metadata": {}, "outputs": [], "source": [ @@ -1412,7 +1399,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 73, "metadata": {}, "outputs": [ { @@ -1527,7 +1514,7 @@ "\n", " def __init__(\n", " self,\n", - " frament: Fragment,\n", + " fragment: Fragment,\n", " *args,\n", " app_context: AppContext,\n", " model_name: Optional[str] = \"\",\n", @@ -1554,7 +1541,7 @@ " # The name of the optional input port for passing data to override the output folder path.\n", " self.input_name_output_folder = \"output_folder\"\n", "\n", - " # The output folder set on the object can be overriden at each compute by data in the optional named input\n", + " # The output folder set on the object can be overridden at each compute by data in the optional named input\n", " self.output_folder = output_folder\n", "\n", " # Need the name when there are multiple models loaded\n", @@ -1565,7 +1552,7 @@ " self.model = self._get_model(self.app_context, self.model_path, self._model_name)\n", "\n", " # This needs to be at the end of the constructor.\n", - " super().__init__(frament, *args, **kwargs)\n", + " super().__init__(fragment, *args, **kwargs)\n", "\n", " def _get_model(self, app_context: AppContext, model_path: Path, model_name: str):\n", " \"\"\"Load the model with the given name from context or model path\n", @@ -1677,58 +1664,58 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 74, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[\u001b[32minfo\u001b[m] [fragment.cpp:588] Loading extensions from configs...\n", - "[2025-01-16 15:30:21,251] [INFO] (root) - Parsed args: Namespace(log_level='DEBUG', input=PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/input'), output=PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output'), model=PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models'), workdir=None, argv=['mednist_app/mednist_classifier_monaideploy.py', '-i', 'input', '-o', 'output', '-m', 'models', '-l', 'DEBUG'])\n", - "[2025-01-16 15:30:21,312] [INFO] (root) - AppContext object: AppContext(input_path=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/input, output_path=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output, model_path=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models, workdir=)\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:262] Creating context\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'output_folder'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'image'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'study_selected_series_list'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'text'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2178] Activating Graph...\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2208] Running Graph...\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2210] Waiting for completion...\n", + "[\u001b[32minfo\u001b[m] [fragment.cpp:599] Loading extensions from configs...\n", + "[2025-01-29 12:13:46,068] [INFO] (root) - Parsed args: Namespace(log_level='DEBUG', input=PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/input'), output=PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output'), model=PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models'), workdir=None, argv=['mednist_app/mednist_classifier_monaideploy.py', '-i', 'input', '-o', 'output', '-m', 'models', '-l', 'DEBUG'])\n", + "[2025-01-29 12:13:46,073] [INFO] (root) - AppContext object: AppContext(input_path=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/input, output_path=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output, model_path=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models, workdir=)\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:264] Creating context\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'output_folder'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'text'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2208] Activating Graph...\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2238] Running Graph...\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2240] Waiting for completion...\n", "[\u001b[32minfo\u001b[m] [greedy_scheduler.cpp:191] Scheduling 3 entities\n", "/home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages/monai/data/meta_tensor.py:116: UserWarning: The given NumPy array is not writable, and PyTorch does not support non-writable tensors. This means writing to this tensor will result in undefined behavior. You may want to copy the array to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at ../torch/csrc/utils/tensor_numpy.cpp:206.)\n", " return torch.as_tensor(x, *args, **_kwargs).as_subclass(cls)\n", "AbdomenCT\n", - "[2025-01-16 15:30:28,728] [DEBUG] (monai.deploy.operators.dicom_text_sr_writer_operator.DICOMTextSRWriterOperator) - Writing DICOM object...\n", + "[2025-01-29 12:13:47,618] [DEBUG] (monai.deploy.operators.dicom_text_sr_writer_operator.DICOMTextSRWriterOperator) - Writing DICOM object...\n", "\n", - "[2025-01-16 15:30:28,728] [DEBUG] (root) - Writing DICOM common modules...\n", - "[2025-01-16 15:30:28,733] [WARNING] (pydicom) - 'Dataset.is_implicit_VR' will be removed in v4.0, set the Transfer Syntax UID or use the 'implicit_vr' argument with Dataset.save_as() or dcmwrite() instead\n", - "[2025-01-16 15:30:28,733] [WARNING] (pydicom) - 'Dataset.is_little_endian' will be removed in v4.0, set the Transfer Syntax UID or use the 'little_endian' argument with Dataset.save_as() or dcmwrite() instead\n", - "[2025-01-16 15:30:28,734] [WARNING] (pydicom) - Invalid value for VR UI: 'xyz'. Please see for allowed values for each VR.\n", + "[2025-01-29 12:13:47,618] [DEBUG] (root) - Writing DICOM common modules...\n", + "[2025-01-29 12:13:47,619] [WARNING] (pydicom) - 'Dataset.is_implicit_VR' will be removed in v4.0, set the Transfer Syntax UID or use the 'implicit_vr' argument with Dataset.save_as() or dcmwrite() instead\n", + "[2025-01-29 12:13:47,619] [WARNING] (pydicom) - 'Dataset.is_little_endian' will be removed in v4.0, set the Transfer Syntax UID or use the 'little_endian' argument with Dataset.save_as() or dcmwrite() instead\n", + "[2025-01-29 12:13:47,620] [WARNING] (pydicom) - Invalid value for VR UI: 'xyz'. Please see for allowed values for each VR.\n", "/home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages/pydicom/valuerep.py:440: UserWarning: Invalid value for VR UI: 'xyz'. Please see for allowed values for each VR.\n", " warn_and_log(msg)\n", - "[2025-01-16 15:30:28,738] [DEBUG] (root) - DICOM common modules written:\n", + "[2025-01-29 12:13:47,626] [DEBUG] (root) - DICOM common modules written:\n", "Dataset.file_meta -------------------------------\n", "(0002,0000) File Meta Information Group Length UL: 198\n", "(0002,0001) File Meta Information Version OB: b'01'\n", "(0002,0002) Media Storage SOP Class UID UI: Basic Text SR Storage\n", - "(0002,0003) Media Storage SOP Instance UID UI: 1.2.826.0.1.3680043.8.498.13684611543954986424990493574500114133\n", + "(0002,0003) Media Storage SOP Instance UID UI: 1.2.826.0.1.3680043.8.498.40930607307693667945884211523087566428\n", "(0002,0010) Transfer Syntax UID UI: Implicit VR Little Endian\n", "(0002,0012) Implementation Class UID UI: 1.2.40.0.13.1.1.1\n", "(0002,0013) Implementation Version Name SH: '2.0.0'\n", "-------------------------------------------------\n", "(0008,0005) Specific Character Set CS: 'ISO_IR 100'\n", - "(0008,0012) Instance Creation Date DA: '20250116'\n", - "(0008,0013) Instance Creation Time TM: '153028'\n", + "(0008,0012) Instance Creation Date DA: '20250129'\n", + "(0008,0013) Instance Creation Time TM: '121347'\n", "(0008,0016) SOP Class UID UI: Basic Text SR Storage\n", - "(0008,0018) SOP Instance UID UI: 1.2.826.0.1.3680043.8.498.13684611543954986424990493574500114133\n", - "(0008,0020) Study Date DA: '20250116'\n", - "(0008,0021) Series Date DA: '20250116'\n", - "(0008,0023) Content Date DA: '20250116'\n", - "(0008,002A) Acquisition DateTime DT: '20250116153028'\n", - "(0008,0030) Study Time TM: '153028'\n", - "(0008,0031) Series Time TM: '153028'\n", - "(0008,0033) Content Time TM: '153028'\n", + "(0008,0018) SOP Instance UID UI: 1.2.826.0.1.3680043.8.498.40930607307693667945884211523087566428\n", + "(0008,0020) Study Date DA: '20250129'\n", + "(0008,0021) Series Date DA: '20250129'\n", + "(0008,0023) Content Date DA: '20250129'\n", + "(0008,002A) Acquisition DateTime DT: '20250129121347'\n", + "(0008,0030) Study Time TM: '121347'\n", + "(0008,0031) Series Time TM: '121347'\n", + "(0008,0033) Content Time TM: '121347'\n", "(0008,0050) Accession Number SH: ''\n", "(0008,0060) Modality CS: 'SR'\n", "(0008,0070) Manufacturer LO: 'MOANI Deploy App SDK'\n", @@ -1755,33 +1742,33 @@ " (0008,0104) Code Meaning LO: '\"Processing Algorithm'\n", " ---------\n", " ---------\n", - "(0020,000D) Study Instance UID UI: 1.2.826.0.1.3680043.8.498.39702691697742919696761863378444809409\n", - "(0020,000E) Series Instance UID UI: 1.2.826.0.1.3680043.8.498.77611673418592382830839709647664909683\n", + "(0020,000D) Study Instance UID UI: 1.2.826.0.1.3680043.8.498.46747993953820320366351594900569871942\n", + "(0020,000E) Series Instance UID UI: 1.2.826.0.1.3680043.8.498.86323530137357157956886829965721763612\n", "(0020,0010) Study ID SH: '1'\n", - "(0020,0011) Series Number IS: '4686'\n", + "(0020,0011) Series Number IS: '5312'\n", "(0020,0013) Instance Number IS: '1'\n", "(0040,1001) Requested Procedure ID SH: ''\n", - "[2025-01-16 15:30:28,740] [DEBUG] (root) - DICOM dataset to be written:Dataset.file_meta -------------------------------\n", + "[2025-01-29 12:13:47,627] [DEBUG] (root) - DICOM dataset to be written:Dataset.file_meta -------------------------------\n", "(0002,0000) File Meta Information Group Length UL: 198\n", "(0002,0001) File Meta Information Version OB: b'01'\n", "(0002,0002) Media Storage SOP Class UID UI: Basic Text SR Storage\n", - "(0002,0003) Media Storage SOP Instance UID UI: 1.2.826.0.1.3680043.8.498.13684611543954986424990493574500114133\n", + "(0002,0003) Media Storage SOP Instance UID UI: 1.2.826.0.1.3680043.8.498.40930607307693667945884211523087566428\n", "(0002,0010) Transfer Syntax UID UI: Implicit VR Little Endian\n", "(0002,0012) Implementation Class UID UI: 1.2.40.0.13.1.1.1\n", "(0002,0013) Implementation Version Name SH: '2.0.0'\n", "-------------------------------------------------\n", "(0008,0005) Specific Character Set CS: 'ISO_IR 100'\n", - "(0008,0012) Instance Creation Date DA: '20250116'\n", - "(0008,0013) Instance Creation Time TM: '153028'\n", + "(0008,0012) Instance Creation Date DA: '20250129'\n", + "(0008,0013) Instance Creation Time TM: '121347'\n", "(0008,0016) SOP Class UID UI: Basic Text SR Storage\n", - "(0008,0018) SOP Instance UID UI: 1.2.826.0.1.3680043.8.498.13684611543954986424990493574500114133\n", - "(0008,0020) Study Date DA: '20250116'\n", - "(0008,0021) Series Date DA: '20250116'\n", - "(0008,0023) Content Date DA: '20250116'\n", - "(0008,002A) Acquisition DateTime DT: '20250116153028'\n", - "(0008,0030) Study Time TM: '153028'\n", - "(0008,0031) Series Time TM: '153028'\n", - "(0008,0033) Content Time TM: '153028'\n", + "(0008,0018) SOP Instance UID UI: 1.2.826.0.1.3680043.8.498.40930607307693667945884211523087566428\n", + "(0008,0020) Study Date DA: '20250129'\n", + "(0008,0021) Series Date DA: '20250129'\n", + "(0008,0023) Content Date DA: '20250129'\n", + "(0008,002A) Acquisition DateTime DT: '20250129121347'\n", + "(0008,0030) Study Time TM: '121347'\n", + "(0008,0031) Series Time TM: '121347'\n", + "(0008,0033) Content Time TM: '121347'\n", "(0008,0050) Accession Number SH: ''\n", "(0008,0060) Modality CS: 'SR'\n", "(0008,0070) Manufacturer LO: 'MOANI Deploy App SDK'\n", @@ -1808,10 +1795,10 @@ " (0008,0104) Code Meaning LO: '\"Processing Algorithm'\n", " ---------\n", " ---------\n", - "(0020,000D) Study Instance UID UI: 1.2.826.0.1.3680043.8.498.39702691697742919696761863378444809409\n", - "(0020,000E) Series Instance UID UI: 1.2.826.0.1.3680043.8.498.77611673418592382830839709647664909683\n", + "(0020,000D) Study Instance UID UI: 1.2.826.0.1.3680043.8.498.46747993953820320366351594900569871942\n", + "(0020,000E) Series Instance UID UI: 1.2.826.0.1.3680043.8.498.86323530137357157956886829965721763612\n", "(0020,0010) Study ID SH: '1'\n", - "(0020,0011) Series Number IS: '4686'\n", + "(0020,0011) Series Number IS: '5312'\n", "(0020,0013) Instance Number IS: '1'\n", "(0040,1001) Requested Procedure ID SH: ''\n", "(0040,A040) Value Type CS: 'CONTAINER'\n", @@ -1832,14 +1819,14 @@ " ---------\n", " (0040,A160) Text Value UT: 'AbdomenCT'\n", " ---------\n", - "[2025-01-16 15:30:28,740] [WARNING] (pydicom) - 'write_like_original' is deprecated and will be removed in v4.0, please use 'enforce_file_format' instead\n", - "[2025-01-16 15:30:28,745] [INFO] (root) - Finished writing DICOM instance to file /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output/1.2.826.0.1.3680043.8.498.13684611543954986424990493574500114133.dcm\n", - "[2025-01-16 15:30:28,748] [INFO] (monai.deploy.operators.dicom_text_sr_writer_operator.DICOMTextSRWriterOperator) - DICOM SOP instance saved in /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output/1.2.826.0.1.3680043.8.498.13684611543954986424990493574500114133.dcm\n", + "[2025-01-29 12:13:47,627] [WARNING] (pydicom) - 'write_like_original' is deprecated and will be removed in v4.0, please use 'enforce_file_format' instead\n", + "[2025-01-29 12:13:47,635] [INFO] (root) - Finished writing DICOM instance to file /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output/1.2.826.0.1.3680043.8.498.40930607307693667945884211523087566428.dcm\n", + "[2025-01-29 12:13:47,636] [INFO] (monai.deploy.operators.dicom_text_sr_writer_operator.DICOMTextSRWriterOperator) - DICOM SOP instance saved in /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output/1.2.826.0.1.3680043.8.498.40930607307693667945884211523087566428.dcm\n", "[\u001b[32minfo\u001b[m] [greedy_scheduler.cpp:372] Scheduler stopped: Some entities are waiting for execution, but there are no periodic or async entities to get out of the deadlock.\n", "[\u001b[32minfo\u001b[m] [greedy_scheduler.cpp:401] Scheduler finished.\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2213] Deactivating Graph...\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2221] Graph execution finished.\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:292] Destroying context\n" + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2243] Deactivating Graph...\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2251] Graph execution finished.\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:294] Destroying context\n" ] } ], @@ -1849,7 +1836,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 75, "metadata": {}, "outputs": [ { @@ -1876,7 +1863,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 76, "metadata": {}, "outputs": [ { @@ -1906,7 +1893,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 77, "metadata": {}, "outputs": [ { @@ -1915,6 +1902,17 @@ "text": [ "Writing mednist_app/requirements.txt\n" ] + }, + { + "ename": "", + "evalue": "", + "output_type": "error", + "traceback": [ + "\u001b[1;31mThe Kernel crashed while executing code in the current cell or a previous cell. \n", + "\u001b[1;31mPlease review the code in the cell(s) to identify a possible cause of the failure. \n", + "\u001b[1;31mClick here for more info. \n", + "\u001b[1;31mView Jupyter log for further details." + ] } ], "source": [ @@ -1925,7 +1923,7 @@ "highdicom>=0.18.2\n", "SimpleITK>=2.0.0\n", "setuptools>=59.5.0 # for pkg_resources\n", - "holoscan==2.6.0 # avoid v2.7 and v2.8 for a known issue" + "holoscan>=2.9.0 # avoid v2.7 and v2.8 for a known issue" ] }, { diff --git a/notebooks/tutorials/02_mednist_app.ipynb b/notebooks/tutorials/02_mednist_app.ipynb index c04812cf..000ae501 100644 --- a/notebooks/tutorials/02_mednist_app.ipynb +++ b/notebooks/tutorials/02_mednist_app.ipynb @@ -27,7 +27,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -60,19 +60,11 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 5, "metadata": { "tags": [] }, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages/ignite/handlers/checkpoint.py:17: DeprecationWarning: `TorchScript` support for functional optimizers is deprecated and will be removed in a future PyTorch release. Consider using the `torch.compile` optimizer instead.\n", - " from torch.distributed.optim import ZeroRedundancyOptimizer\n" - ] - }, { "name": "stdout", "output_type": "stream", @@ -88,7 +80,7 @@ "Pytorch Ignite version: 0.4.11\n", "ITK version: NOT INSTALLED or UNKNOWN VERSION.\n", "Nibabel version: 5.3.2\n", - "scikit-image version: 0.25.0\n", + "scikit-image version: 0.25.1\n", "scipy version: 1.15.1\n", "Pillow version: 11.1.0\n", "Tensorboard version: NOT INSTALLED or UNKNOWN VERSION.\n", @@ -168,12 +160,12 @@ "\n", "If you use the MedNIST dataset, please acknowledge the source.\n", "\n", - "**_Note:_** Data files are now access controlled. Please first request permission to access the [shared folder on Google Drive](https://drive.google.com/drive/folders/1Z9s3JB2YdKjcw8ELwjVYJcCEvqlQ_HTN?usp=drive_link)" + "**_Note:_** Data files are now access controlled. Please first request permission to access the [shared folder on Google Drive](https://drive.google.com/drive/folders/1Z9s3JB2YdKjcw8ELwjVYJcCEvqlQ_HTN?usp=drive_link), then download and extract the zip file to a folder called `MedNIST_DATA` at the same level as this notebook." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": { "tags": [] }, @@ -182,16 +174,13 @@ "name": "stdout", "output_type": "stream", "text": [ - ".\n", - "2025-01-16 12:16:03,094 - INFO - Verified 'MedNIST.tar.gz', md5: 0bc7306e7427e00ad1c5526a6677552d.\n", - "2025-01-16 12:16:03,094 - INFO - File exists: MedNIST.tar.gz, skipped downloading.\n", - "2025-01-16 12:16:03,095 - INFO - Writing into directory: ..\n" + "./MedNIST_DATA\n" ] } ], "source": [ "directory = os.environ.get(\"MONAI_DATA_DIRECTORY\")\n", - "root_dir = os.path.curdir + \"MedNIST_DATA\" if directory is None else directory\n", + "root_dir = directory if directory else os.path.join(os.path.curdir, \"MedNIST_DATA\")\n", "print(root_dir)\n", "\n", "resource = \"https://drive.google.com/uc?id=1QsnnkvZyJPcbRoV_ArW8SnE1OTuoVbKE\"\n", @@ -205,7 +194,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -248,7 +237,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -267,7 +256,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -291,7 +280,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -304,9 +293,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/5 Loss: 0.18886765837669373\n", + "Epoch 2/5 Loss: 0.06690701842308044\n", + "Epoch 3/5 Loss: 0.028753578662872314\n", + "Epoch 4/5 Loss: 0.019015837460756302\n", + "Epoch 5/5 Loss: 0.0193385761231184\n" + ] + } + ], "source": [ "def _prepare_batch(batch, device, non_blocking):\n", " return tuple(b.to(device) for b in batch)\n", @@ -332,7 +333,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -415,9 +416,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "001420.jpeg\n", + "classifier.zip\n", + "env: HOLOSCAN_INPUT_PATH=input\n", + "env: HOLOSCAN_OUTPUT_PATH=output\n", + "env: HOLOSCAN_MODEL_PATH=models\n" + ] + } + ], "source": [ "input_folder = \"input\"\n", "output_foler = \"output\"\n", @@ -445,7 +458,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -475,7 +488,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -545,7 +558,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ @@ -683,7 +696,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -727,9 +740,56 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[info] [fragment.cpp:599] Loading extensions from configs...\n", + "[2025-01-29 14:14:52,365] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=[])\n", + "[2025-01-29 14:14:52,380] [INFO] (root) - AppContext object: AppContext(input_path=input, output_path=output, model_path=models, workdir=)\n", + "[info] [gxf_executor.cpp:264] Creating context\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'output_folder'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'text'\n", + "[info] [gxf_executor.cpp:2208] Activating Graph...\n", + "[info] [gxf_executor.cpp:2238] Running Graph...\n", + "[info] [gxf_executor.cpp:2240] Waiting for completion...\n", + "[info] [greedy_scheduler.cpp:191] Scheduling 3 entities\n", + "/home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages/monai/data/meta_tensor.py:116: UserWarning: The given NumPy array is not writable, and PyTorch does not support non-writable tensors. This means writing to this tensor will result in undefined behavior. You may want to copy the array to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at ../torch/csrc/utils/tensor_numpy.cpp:206.)\n", + " return torch.as_tensor(x, *args, **_kwargs).as_subclass(cls)\n", + "[2025-01-29 14:14:53,399] [WARNING] (pydicom) - 'Dataset.is_implicit_VR' will be removed in v4.0, set the Transfer Syntax UID or use the 'implicit_vr' argument with Dataset.save_as() or dcmwrite() instead\n", + "[2025-01-29 14:14:53,400] [WARNING] (pydicom) - 'Dataset.is_little_endian' will be removed in v4.0, set the Transfer Syntax UID or use the 'little_endian' argument with Dataset.save_as() or dcmwrite() instead\n", + "[2025-01-29 14:14:53,402] [WARNING] (pydicom) - Invalid value for VR UI: 'xyz'. Please see for allowed values for each VR.\n", + "/home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages/pydicom/valuerep.py:440: UserWarning: Invalid value for VR UI: 'xyz'. Please see for allowed values for each VR.\n", + " warn_and_log(msg)\n", + "[2025-01-29 14:14:53,406] [WARNING] (pydicom) - 'write_like_original' is deprecated and will be removed in v4.0, please use 'enforce_file_format' instead\n", + "[2025-01-29 14:14:53,410] [INFO] (root) - Finished writing DICOM instance to file output/1.2.826.0.1.3680043.8.498.89440030592013337302433440951243230255.dcm\n", + "[2025-01-29 14:14:53,413] [INFO] (monai.deploy.operators.dicom_text_sr_writer_operator.DICOMTextSRWriterOperator) - DICOM SOP instance saved in output/1.2.826.0.1.3680043.8.498.89440030592013337302433440951243230255.dcm\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "AbdomenCT\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[info] [greedy_scheduler.cpp:372] Scheduler stopped: Some entities are waiting for execution, but there are no periodic or async entities to get out of the deadlock.\n", + "[info] [greedy_scheduler.cpp:401] Scheduler finished.\n", + "[info] [gxf_executor.cpp:2243] Deactivating Graph...\n", + "[info] [gxf_executor.cpp:2251] Graph execution finished.\n", + "[info] [gxf_executor.cpp:294] Destroying context\n" + ] + } + ], "source": [ "!rm -rf $HOLOSCAN_OUTPUT_PATH\n", "app = App().run()" @@ -737,9 +797,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\"AbdomenCT\"" + ] + } + ], "source": [ "!cat $HOLOSCAN_OUTPUT_PATH/output.json" ] @@ -760,7 +828,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "metadata": {}, "outputs": [], "source": [ @@ -771,9 +839,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Writing mednist_app/mednist_classifier_monaideploy.py\n" + ] + } + ], "source": [ "%%writefile mednist_app/mednist_classifier_monaideploy.py\n", "\n", @@ -1022,18 +1098,57 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[\u001b[32minfo\u001b[m] [fragment.cpp:599] Loading extensions from configs...\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:264] Creating context\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'output_folder'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'text'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2208] Activating Graph...\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2238] Running Graph...\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2240] Waiting for completion...\n", + "[\u001b[32minfo\u001b[m] [greedy_scheduler.cpp:191] Scheduling 3 entities\n", + "/home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages/monai/data/meta_tensor.py:116: UserWarning: The given NumPy array is not writable, and PyTorch does not support non-writable tensors. This means writing to this tensor will result in undefined behavior. You may want to copy the array to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at ../torch/csrc/utils/tensor_numpy.cpp:206.)\n", + " return torch.as_tensor(x, *args, **_kwargs).as_subclass(cls)\n", + "AbdomenCT\n", + "WARNING:pydicom:'Dataset.is_implicit_VR' will be removed in v4.0, set the Transfer Syntax UID or use the 'implicit_vr' argument with Dataset.save_as() or dcmwrite() instead\n", + "WARNING:pydicom:'Dataset.is_little_endian' will be removed in v4.0, set the Transfer Syntax UID or use the 'little_endian' argument with Dataset.save_as() or dcmwrite() instead\n", + "WARNING:pydicom:Invalid value for VR UI: 'xyz'. Please see for allowed values for each VR.\n", + "/home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages/pydicom/valuerep.py:440: UserWarning: Invalid value for VR UI: 'xyz'. Please see for allowed values for each VR.\n", + " warn_and_log(msg)\n", + "WARNING:pydicom:'write_like_original' is deprecated and will be removed in v4.0, please use 'enforce_file_format' instead\n", + "[\u001b[32minfo\u001b[m] [greedy_scheduler.cpp:372] Scheduler stopped: Some entities are waiting for execution, but there are no periodic or async entities to get out of the deadlock.\n", + "[\u001b[32minfo\u001b[m] [greedy_scheduler.cpp:401] Scheduler finished.\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2243] Deactivating Graph...\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2251] Graph execution finished.\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:294] Destroying context\n" + ] + } + ], "source": [ "!python \"mednist_app/mednist_classifier_monaideploy.py\"" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\"AbdomenCT\"" + ] + } + ], "source": [ "!cat $HOLOSCAN_OUTPUT_PATH/output.json" ] @@ -1056,9 +1171,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Writing mednist_app/app.yaml\n" + ] + } + ], "source": [ "%%writefile mednist_app/app.yaml\n", "%YAML 1.2\n", @@ -1078,9 +1201,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Writing mednist_app/requirements.txt\n" + ] + } + ], "source": [ "%%writefile mednist_app/requirements.txt\n", "monai>=1.2.0\n", @@ -1089,14 +1220,728 @@ "highdicom>=0.18.2\n", "SimpleITK>=2.0.0\n", "setuptools>=59.5.0 # for pkg_resources\n", - "holoscan==2.6.0 # avoid v2.7 and v2.8 for a known issue" + "holoscan>=2.9.0 # avoid v2.7 and v2.8 for a known issue" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[2025-01-29 14:15:03,458] [INFO] (common) - Downloading CLI manifest file...\n", + "[2025-01-29 14:15:03,859] [DEBUG] (common) - Validating CLI manifest file...\n", + "[2025-01-29 14:15:03,859] [INFO] (packager.parameters) - Application: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/mednist_app/mednist_classifier_monaideploy.py\n", + "[2025-01-29 14:15:03,859] [INFO] (packager.parameters) - Detected application type: Python File\n", + "[2025-01-29 14:15:03,860] [INFO] (packager) - Scanning for models in /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models...\n", + "[2025-01-29 14:15:03,860] [DEBUG] (packager) - Model model=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models/model added.\n", + "[2025-01-29 14:15:03,860] [INFO] (packager) - Reading application configuration from /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/mednist_app/app.yaml...\n", + "[2025-01-29 14:15:03,864] [INFO] (packager) - Generating app.json...\n", + "[2025-01-29 14:15:03,864] [INFO] (packager) - Generating pkg.json...\n", + "[2025-01-29 14:15:03,869] [DEBUG] (common) - \n", + "=============== Begin app.json ===============\n", + "{\n", + " \"apiVersion\": \"1.0.0\",\n", + " \"command\": \"[\\\"python3\\\", \\\"/opt/holoscan/app/mednist_classifier_monaideploy.py\\\"]\",\n", + " \"environment\": {\n", + " \"HOLOSCAN_APPLICATION\": \"/opt/holoscan/app\",\n", + " \"HOLOSCAN_INPUT_PATH\": \"input/\",\n", + " \"HOLOSCAN_OUTPUT_PATH\": \"output/\",\n", + " \"HOLOSCAN_WORKDIR\": \"/var/holoscan\",\n", + " \"HOLOSCAN_MODEL_PATH\": \"/opt/holoscan/models\",\n", + " \"HOLOSCAN_CONFIG_PATH\": \"/var/holoscan/app.yaml\",\n", + " \"HOLOSCAN_APP_MANIFEST_PATH\": \"/etc/holoscan/app.json\",\n", + " \"HOLOSCAN_PKG_MANIFEST_PATH\": \"/etc/holoscan/pkg.json\",\n", + " \"HOLOSCAN_DOCS_PATH\": \"/opt/holoscan/docs\",\n", + " \"HOLOSCAN_LOGS_PATH\": \"/var/holoscan/logs\"\n", + " },\n", + " \"input\": {\n", + " \"path\": \"input/\",\n", + " \"formats\": null\n", + " },\n", + " \"liveness\": null,\n", + " \"output\": {\n", + " \"path\": \"output/\",\n", + " \"formats\": null\n", + " },\n", + " \"readiness\": null,\n", + " \"sdk\": \"monai-deploy\",\n", + " \"sdkVersion\": \"2.0.0\",\n", + " \"timeout\": 0,\n", + " \"version\": 1.0,\n", + " \"workingDirectory\": \"/var/holoscan\"\n", + "}\n", + "================ End app.json ================\n", + " \n", + "[2025-01-29 14:15:03,869] [DEBUG] (common) - \n", + "=============== Begin pkg.json ===============\n", + "{\n", + " \"apiVersion\": \"1.0.0\",\n", + " \"applicationRoot\": \"/opt/holoscan/app\",\n", + " \"modelRoot\": \"/opt/holoscan/models\",\n", + " \"models\": {\n", + " \"model\": \"/opt/holoscan/models/model\"\n", + " },\n", + " \"resources\": {\n", + " \"cpu\": 1,\n", + " \"gpu\": 1,\n", + " \"memory\": \"1Gi\",\n", + " \"gpuMemory\": \"1Gi\"\n", + " },\n", + " \"version\": 1.0,\n", + " \"platformConfig\": \"dgpu\"\n", + "}\n", + "================ End pkg.json ================\n", + " \n", + "[2025-01-29 14:15:03,900] [DEBUG] (packager.builder) - \n", + "========== Begin Build Parameters ==========\n", + "{'additional_lib_paths': '',\n", + " 'app_config_file_path': PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/mednist_app/app.yaml'),\n", + " 'app_dir': PosixPath('/opt/holoscan/app'),\n", + " 'app_json': '/etc/holoscan/app.json',\n", + " 'application': PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/mednist_app/mednist_classifier_monaideploy.py'),\n", + " 'application_directory': PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/mednist_app'),\n", + " 'application_type': 'PythonFile',\n", + " 'build_cache': PosixPath('/home/mqin/.holoscan_build_cache'),\n", + " 'cmake_args': '',\n", + " 'command': '[\"python3\", '\n", + " '\"/opt/holoscan/app/mednist_classifier_monaideploy.py\"]',\n", + " 'command_filename': 'mednist_classifier_monaideploy.py',\n", + " 'config_file_path': PosixPath('/var/holoscan/app.yaml'),\n", + " 'docs_dir': PosixPath('/opt/holoscan/docs'),\n", + " 'full_input_path': PosixPath('/var/holoscan/input'),\n", + " 'full_output_path': PosixPath('/var/holoscan/output'),\n", + " 'gid': 1000,\n", + " 'holoscan_sdk_version': '2.9.0',\n", + " 'includes': [],\n", + " 'input_dir': 'input/',\n", + " 'lib_dir': PosixPath('/opt/holoscan/lib'),\n", + " 'logs_dir': PosixPath('/var/holoscan/logs'),\n", + " 'models': {'model': PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models/model')},\n", + " 'models_dir': PosixPath('/opt/holoscan/models'),\n", + " 'monai_deploy_app_sdk_version': '2.0.0',\n", + " 'no_cache': False,\n", + " 'output_dir': 'output/',\n", + " 'pip_packages': None,\n", + " 'pkg_json': '/etc/holoscan/pkg.json',\n", + " 'requirements_file_path': PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/mednist_app/requirements.txt'),\n", + " 'sdk': ,\n", + " 'sdk_type': 'monai-deploy',\n", + " 'tarball_output': None,\n", + " 'timeout': 0,\n", + " 'title': 'MONAI Deploy App Package - MedNIST Classifier App',\n", + " 'uid': 1000,\n", + " 'username': 'holoscan',\n", + " 'version': 1.0,\n", + " 'working_dir': PosixPath('/var/holoscan')}\n", + "=========== End Build Parameters ===========\n", + "\n", + "[2025-01-29 14:15:03,900] [DEBUG] (packager.builder) - \n", + "========== Begin Platform Parameters ==========\n", + "{'base_image': 'nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04',\n", + " 'build_image': None,\n", + " 'cuda_deb_arch': 'x86_64',\n", + " 'custom_base_image': False,\n", + " 'custom_holoscan_sdk': False,\n", + " 'custom_monai_deploy_sdk': False,\n", + " 'gpu_type': 'dgpu',\n", + " 'holoscan_deb_arch': 'amd64',\n", + " 'holoscan_sdk_file': '2.9.0',\n", + " 'holoscan_sdk_filename': '2.9.0',\n", + " 'monai_deploy_sdk_file': None,\n", + " 'monai_deploy_sdk_filename': None,\n", + " 'tag': 'mednist_app:1.0',\n", + " 'target_arch': 'x86_64'}\n", + "=========== End Platform Parameters ===========\n", + "\n", + "[2025-01-29 14:15:03,917] [DEBUG] (packager.builder) - \n", + "========== Begin Dockerfile ==========\n", + "\n", + "ARG GPU_TYPE=dgpu\n", + "\n", + "\n", + "\n", + "\n", + "FROM nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04 AS base\n", + "\n", + "RUN apt-get update \\\n", + " && apt-get install -y --no-install-recommends --no-install-suggests \\\n", + " curl \\\n", + " jq \\\n", + " && rm -rf /var/lib/apt/lists/*\n", + "\n", + "\n", + "\n", + "\n", + "# FROM base AS mofed-installer\n", + "# ARG MOFED_VERSION=23.10-2.1.3.1\n", + "\n", + "# # In a container, we only need to install the user space libraries, though the drivers are still\n", + "# # needed on the host.\n", + "# # Note: MOFED's installation is not easily portable, so we can't copy the output of this stage\n", + "# # to our final stage, but must inherit from it. For that reason, we keep track of the build/install\n", + "# # only dependencies in the `MOFED_DEPS` variable (parsing the output of `--check-deps-only`) to\n", + "# # remove them in that same layer, to ensure they are not propagated in the final image.\n", + "# WORKDIR /opt/nvidia/mofed\n", + "# ARG MOFED_INSTALL_FLAGS=\"--dpdk --with-mft --user-space-only --force --without-fw-update\"\n", + "# RUN UBUNTU_VERSION=$(cat /etc/lsb-release | grep DISTRIB_RELEASE | cut -d= -f2) \\\n", + "# && OFED_PACKAGE=\"MLNX_OFED_LINUX-${MOFED_VERSION}-ubuntu${UBUNTU_VERSION}-$(uname -m)\" \\\n", + "# && curl -S -# -o ${OFED_PACKAGE}.tgz -L \\\n", + "# https://www.mellanox.com/downloads/ofed/MLNX_OFED-${MOFED_VERSION}/${OFED_PACKAGE}.tgz \\\n", + "# && tar xf ${OFED_PACKAGE}.tgz \\\n", + "# && MOFED_INSTALLER=$(find . -name mlnxofedinstall -type f -executable -print) \\\n", + "# && MOFED_DEPS=$(${MOFED_INSTALLER} ${MOFED_INSTALL_FLAGS} --check-deps-only 2>/dev/null | tail -n1 | cut -d' ' -f3-) \\\n", + "# && apt-get update \\\n", + "# && apt-get install --no-install-recommends -y ${MOFED_DEPS} \\\n", + "# && ${MOFED_INSTALLER} ${MOFED_INSTALL_FLAGS} \\\n", + "# && rm -r * \\\n", + "# && apt-get remove -y ${MOFED_DEPS} && apt-get autoremove -y \\\n", + "# && rm -rf /var/lib/apt/lists/*\n", + "\n", + "FROM base AS release\n", + "ENV DEBIAN_FRONTEND=noninteractive\n", + "ENV TERM=xterm-256color\n", + "\n", + "ARG GPU_TYPE\n", + "ARG UNAME\n", + "ARG UID\n", + "ARG GID\n", + "\n", + "RUN mkdir -p /etc/holoscan/ \\\n", + " && mkdir -p /opt/holoscan/ \\\n", + " && mkdir -p /var/holoscan \\\n", + " && mkdir -p /opt/holoscan/app \\\n", + " && mkdir -p /var/holoscan/input \\\n", + " && mkdir -p /var/holoscan/output\n", + "\n", + "LABEL base=\"nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\"\n", + "LABEL tag=\"mednist_app:1.0\"\n", + "LABEL org.opencontainers.image.title=\"MONAI Deploy App Package - MedNIST Classifier App\"\n", + "LABEL org.opencontainers.image.version=\"1.0\"\n", + "LABEL org.nvidia.holoscan=\"2.9.0\"\n", + "\n", + "LABEL org.monai.deploy.app-sdk=\"2.0.0\"\n", + "\n", + "ENV HOLOSCAN_INPUT_PATH=/var/holoscan/input\n", + "ENV HOLOSCAN_OUTPUT_PATH=/var/holoscan/output\n", + "ENV HOLOSCAN_WORKDIR=/var/holoscan\n", + "ENV HOLOSCAN_APPLICATION=/opt/holoscan/app\n", + "ENV HOLOSCAN_TIMEOUT=0\n", + "ENV HOLOSCAN_MODEL_PATH=/opt/holoscan/models\n", + "ENV HOLOSCAN_DOCS_PATH=/opt/holoscan/docs\n", + "ENV HOLOSCAN_CONFIG_PATH=/var/holoscan/app.yaml\n", + "ENV HOLOSCAN_APP_MANIFEST_PATH=/etc/holoscan/app.json\n", + "ENV HOLOSCAN_PKG_MANIFEST_PATH=/etc/holoscan/pkg.json\n", + "ENV HOLOSCAN_LOGS_PATH=/var/holoscan/logs\n", + "ENV HOLOSCAN_VERSION=2.9.0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "# If torch is installed, we can skip installing Python\n", + "ENV PYTHON_VERSION=3.10.6-1~22.04\n", + "ENV PYTHON_PIP_VERSION=22.0.2+dfsg-*\n", + "\n", + "RUN apt update \\\n", + " && apt-get install -y --no-install-recommends --no-install-suggests \\\n", + " python3-minimal=${PYTHON_VERSION} \\\n", + " libpython3-stdlib=${PYTHON_VERSION} \\\n", + " python3=${PYTHON_VERSION} \\\n", + " python3-venv=${PYTHON_VERSION} \\\n", + " python3-pip=${PYTHON_PIP_VERSION} \\\n", + " && rm -rf /var/lib/apt/lists/*\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "RUN groupadd -f -g $GID $UNAME\n", + "RUN useradd -rm -d /home/$UNAME -s /bin/bash -g $GID -G sudo -u $UID $UNAME\n", + "RUN chown -R holoscan /var/holoscan && \\\n", + " chown -R holoscan /var/holoscan/input && \\\n", + " chown -R holoscan /var/holoscan/output\n", + "\n", + "# Set the working directory\n", + "WORKDIR /var/holoscan\n", + "\n", + "# Copy HAP/MAP tool script\n", + "COPY ./tools /var/holoscan/tools\n", + "RUN chmod +x /var/holoscan/tools\n", + "\n", + "# Set the working directory\n", + "WORKDIR /var/holoscan\n", + "\n", + "USER $UNAME\n", + "\n", + "ENV PATH=/home/${UNAME}/.local/bin:/opt/nvidia/holoscan/bin:$PATH\n", + "ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/${UNAME}/.local/lib/python3.10/site-packages/holoscan/lib\n", + "\n", + "COPY ./pip/requirements.txt /tmp/requirements.txt\n", + "\n", + "RUN pip install --upgrade pip\n", + "RUN pip install --no-cache-dir --user -r /tmp/requirements.txt\n", + "\n", + "\n", + "# Install MONAI Deploy App SDK\n", + "\n", + "# Install MONAI Deploy from PyPI org\n", + "RUN pip install monai-deploy-app-sdk==2.0.0\n", + "\n", + "\n", + "COPY ./models /opt/holoscan/models\n", + "\n", + "\n", + "COPY ./map/app.json /etc/holoscan/app.json\n", + "COPY ./app.config /var/holoscan/app.yaml\n", + "COPY ./map/pkg.json /etc/holoscan/pkg.json\n", + "\n", + "COPY ./app /opt/holoscan/app\n", + "\n", + "\n", + "ENTRYPOINT [\"/var/holoscan/tools\"]\n", + "=========== End Dockerfile ===========\n", + "\n", + "[2025-01-29 14:15:03,917] [INFO] (packager.builder) - \n", + "===============================================================================\n", + "Building image for: x64-workstation\n", + " Architecture: linux/amd64\n", + " Base Image: nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", + " Build Image: N/A\n", + " Cache: Enabled\n", + " Configuration: dgpu\n", + " Holoscan SDK Package: 2.9.0\n", + " MONAI Deploy App SDK Package: N/A\n", + " gRPC Health Probe: N/A\n", + " SDK Version: 2.9.0\n", + " SDK: monai-deploy\n", + " Tag: mednist_app-x64-workstation-dgpu-linux-amd64:1.0\n", + " Included features/dependencies: N/A\n", + " \n", + "[2025-01-29 14:15:04,216] [INFO] (common) - Using existing Docker BuildKit builder `holoscan_app_builder`\n", + "[2025-01-29 14:15:04,216] [DEBUG] (packager.builder) - Building Holoscan Application Package: tag=mednist_app-x64-workstation-dgpu-linux-amd64:1.0\n", + "#0 building with \"holoscan_app_builder\" instance using docker-container driver\n", + "\n", + "#1 [internal] load build definition from Dockerfile\n", + "#1 transferring dockerfile: 4.57kB done\n", + "#1 DONE 0.1s\n", + "\n", + "#2 [internal] load metadata for nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", + "#2 ...\n", + "\n", + "#3 [auth] nvidia/cuda:pull token for nvcr.io\n", + "#3 DONE 0.0s\n", + "\n", + "#2 [internal] load metadata for nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", + "#2 DONE 0.5s\n", + "\n", + "#4 [internal] load .dockerignore\n", + "#4 transferring context: 1.80kB done\n", + "#4 DONE 0.1s\n", + "\n", + "#5 importing cache manifest from nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", + "#5 ...\n", + "\n", + "#6 [internal] load build context\n", + "#6 DONE 0.0s\n", + "\n", + "#7 importing cache manifest from local:12634971125111610588\n", + "#7 inferred cache manifest type: application/vnd.oci.image.index.v1+json done\n", + "#7 DONE 0.0s\n", + "\n", + "#8 [base 1/2] FROM nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04@sha256:22fc009e5cea0b8b91d94c99fdd419d2366810b5ea835e47b8343bc15800c186\n", + "#8 resolve nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04@sha256:22fc009e5cea0b8b91d94c99fdd419d2366810b5ea835e47b8343bc15800c186 0.0s done\n", + "#8 DONE 0.0s\n", + "\n", + "#5 importing cache manifest from nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", + "#5 inferred cache manifest type: application/vnd.docker.distribution.manifest.list.v2+json done\n", + "#5 DONE 0.3s\n", + "\n", + "#6 [internal] load build context\n", + "#6 transferring context: 28.62MB 0.2s done\n", + "#6 DONE 0.6s\n", + "\n", + "#9 [release 5/18] RUN chown -R holoscan /var/holoscan && chown -R holoscan /var/holoscan/input && chown -R holoscan /var/holoscan/output\n", + "#9 CACHED\n", + "\n", + "#10 [release 8/18] RUN chmod +x /var/holoscan/tools\n", + "#10 CACHED\n", + "\n", + "#11 [release 4/18] RUN useradd -rm -d /home/holoscan -s /bin/bash -g 1000 -G sudo -u 1000 holoscan\n", + "#11 CACHED\n", + "\n", + "#12 [release 1/18] RUN mkdir -p /etc/holoscan/ && mkdir -p /opt/holoscan/ && mkdir -p /var/holoscan && mkdir -p /opt/holoscan/app && mkdir -p /var/holoscan/input && mkdir -p /var/holoscan/output\n", + "#12 CACHED\n", + "\n", + "#13 [release 7/18] COPY ./tools /var/holoscan/tools\n", + "#13 CACHED\n", + "\n", + "#14 [base 2/2] RUN apt-get update && apt-get install -y --no-install-recommends --no-install-suggests curl jq && rm -rf /var/lib/apt/lists/*\n", + "#14 CACHED\n", + "\n", + "#15 [release 6/18] WORKDIR /var/holoscan\n", + "#15 CACHED\n", + "\n", + "#16 [release 2/18] RUN apt update && apt-get install -y --no-install-recommends --no-install-suggests python3-minimal=3.10.6-1~22.04 libpython3-stdlib=3.10.6-1~22.04 python3=3.10.6-1~22.04 python3-venv=3.10.6-1~22.04 python3-pip=22.0.2+dfsg-* && rm -rf /var/lib/apt/lists/*\n", + "#16 CACHED\n", + "\n", + "#17 [release 3/18] RUN groupadd -f -g 1000 holoscan\n", + "#17 CACHED\n", + "\n", + "#18 [release 9/18] WORKDIR /var/holoscan\n", + "#18 CACHED\n", + "\n", + "#19 [release 10/18] COPY ./pip/requirements.txt /tmp/requirements.txt\n", + "#19 DONE 0.3s\n", + "\n", + "#20 [release 11/18] RUN pip install --upgrade pip\n", + "#20 0.789 Defaulting to user installation because normal site-packages is not writeable\n", + "#20 0.842 Requirement already satisfied: pip in /usr/lib/python3/dist-packages (22.0.2)\n", + "#20 1.003 Collecting pip\n", + "#20 1.069 Downloading pip-25.0-py3-none-any.whl (1.8 MB)\n", + "#20 1.144 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 26.6 MB/s eta 0:00:00\n", + "#20 1.170 Installing collected packages: pip\n", + "#20 1.890 Successfully installed pip-25.0\n", + "#20 DONE 2.1s\n", + "\n", + "#21 [release 12/18] RUN pip install --no-cache-dir --user -r /tmp/requirements.txt\n", + "#21 0.675 Collecting monai>=1.2.0 (from -r /tmp/requirements.txt (line 1))\n", + "#21 0.689 Downloading monai-1.4.0-py3-none-any.whl.metadata (11 kB)\n", + "#21 0.906 Collecting Pillow>=8.4.0 (from -r /tmp/requirements.txt (line 2))\n", + "#21 0.910 Downloading pillow-11.1.0-cp310-cp310-manylinux_2_28_x86_64.whl.metadata (9.1 kB)\n", + "#21 0.925 Collecting pydicom>=2.3.0 (from -r /tmp/requirements.txt (line 3))\n", + "#21 0.931 Downloading pydicom-3.0.1-py3-none-any.whl.metadata (9.4 kB)\n", + "#21 1.037 Collecting highdicom>=0.18.2 (from -r /tmp/requirements.txt (line 4))\n", + "#21 1.043 Downloading highdicom-0.24.0-py3-none-any.whl.metadata (4.7 kB)\n", + "#21 1.078 Collecting SimpleITK>=2.0.0 (from -r /tmp/requirements.txt (line 5))\n", + "#21 1.082 Downloading SimpleITK-2.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (7.9 kB)\n", + "#21 1.083 Requirement already satisfied: setuptools>=59.5.0 in /usr/lib/python3/dist-packages (from -r /tmp/requirements.txt (line 6)) (59.6.0)\n", + "#21 1.170 Collecting holoscan>=2.9.0 (from -r /tmp/requirements.txt (line 7))\n", + "#21 1.176 Downloading holoscan-2.9.0-cp310-cp310-manylinux_2_35_x86_64.whl.metadata (7.3 kB)\n", + "#21 1.315 Collecting numpy<2.0,>=1.24 (from monai>=1.2.0->-r /tmp/requirements.txt (line 1))\n", + "#21 1.319 Downloading numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)\n", + "#21 1.357 Collecting torch>=1.9 (from monai>=1.2.0->-r /tmp/requirements.txt (line 1))\n", + "#21 1.361 Downloading torch-2.6.0-cp310-cp310-manylinux1_x86_64.whl.metadata (28 kB)\n", + "#21 1.480 Collecting pyjpegls>=1.0.0 (from highdicom>=0.18.2->-r /tmp/requirements.txt (line 4))\n", + "#21 1.486 Downloading pyjpegls-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.5 kB)\n", + "#21 1.500 Collecting typing-extensions>=4.0.0 (from highdicom>=0.18.2->-r /tmp/requirements.txt (line 4))\n", + "#21 1.504 Downloading typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)\n", + "#21 1.507 Requirement already satisfied: pip>22.0.2 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 7)) (25.0)\n", + "#21 1.518 Collecting cupy-cuda12x<14.0,>=12.2 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 7))\n", + "#21 1.523 Downloading cupy_cuda12x-13.3.0-cp310-cp310-manylinux2014_x86_64.whl.metadata (2.7 kB)\n", + "#21 1.554 Collecting cloudpickle<4.0,>=3.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 7))\n", + "#21 1.559 Downloading cloudpickle-3.1.1-py3-none-any.whl.metadata (7.1 kB)\n", + "#21 1.588 Collecting python-on-whales<1.0,>=0.60.1 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 7))\n", + "#21 1.593 Downloading python_on_whales-0.75.1-py3-none-any.whl.metadata (18 kB)\n", + "#21 1.611 Collecting Jinja2<4.0,>=3.1.3 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 7))\n", + "#21 1.614 Downloading jinja2-3.1.5-py3-none-any.whl.metadata (2.6 kB)\n", + "#21 1.648 Collecting packaging>=23.1 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 7))\n", + "#21 1.652 Downloading packaging-24.2-py3-none-any.whl.metadata (3.2 kB)\n", + "#21 1.679 Collecting pyyaml<7.0,>=6.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 7))\n", + "#21 1.682 Downloading PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)\n", + "#21 1.703 Collecting requests<3.0,>=2.31.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 7))\n", + "#21 1.706 Downloading requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)\n", + "#21 1.786 Collecting psutil<7.0,>=6.0.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 7))\n", + "#21 1.790 Downloading psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (22 kB)\n", + "#21 1.873 Collecting wheel-axle-runtime<1.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 7))\n", + "#21 1.880 Downloading wheel_axle_runtime-0.0.6-py3-none-any.whl.metadata (8.1 kB)\n", + "#21 1.944 Collecting fastrlock>=0.5 (from cupy-cuda12x<14.0,>=12.2->holoscan>=2.9.0->-r /tmp/requirements.txt (line 7))\n", + "#21 1.948 Downloading fastrlock-0.8.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl.metadata (7.7 kB)\n", + "#21 1.986 Collecting MarkupSafe>=2.0 (from Jinja2<4.0,>=3.1.3->holoscan>=2.9.0->-r /tmp/requirements.txt (line 7))\n", + "#21 1.990 Downloading MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)\n", + "#21 2.005 INFO: pip is looking at multiple versions of pyjpegls to determine which version is compatible with other requirements. This could take a while.\n", + "#21 2.005 Collecting pyjpegls>=1.0.0 (from highdicom>=0.18.2->-r /tmp/requirements.txt (line 4))\n", + "#21 2.010 Downloading pyjpegls-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.5 kB)\n", + "#21 2.016 Downloading pyjpegls-1.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.5 kB)\n", + "#21 2.108 Collecting pydantic!=2.0.*,<3,>=2 (from python-on-whales<1.0,>=0.60.1->holoscan>=2.9.0->-r /tmp/requirements.txt (line 7))\n", + "#21 2.115 Downloading pydantic-2.10.6-py3-none-any.whl.metadata (30 kB)\n", + "#21 2.175 Collecting charset-normalizer<4,>=2 (from requests<3.0,>=2.31.0->holoscan>=2.9.0->-r /tmp/requirements.txt (line 7))\n", + "#21 2.179 Downloading charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB)\n", + "#21 2.190 Collecting idna<4,>=2.5 (from requests<3.0,>=2.31.0->holoscan>=2.9.0->-r /tmp/requirements.txt (line 7))\n", + "#21 2.195 Downloading idna-3.10-py3-none-any.whl.metadata (10 kB)\n", + "#21 2.228 Collecting urllib3<3,>=1.21.1 (from requests<3.0,>=2.31.0->holoscan>=2.9.0->-r /tmp/requirements.txt (line 7))\n", + "#21 2.235 Downloading urllib3-2.3.0-py3-none-any.whl.metadata (6.5 kB)\n", + "#21 2.253 Collecting certifi>=2017.4.17 (from requests<3.0,>=2.31.0->holoscan>=2.9.0->-r /tmp/requirements.txt (line 7))\n", + "#21 2.256 Downloading certifi-2024.12.14-py3-none-any.whl.metadata (2.3 kB)\n", + "#21 2.273 Collecting filelock (from torch>=1.9->monai>=1.2.0->-r /tmp/requirements.txt (line 1))\n", + "#21 2.276 Downloading filelock-3.17.0-py3-none-any.whl.metadata (2.9 kB)\n", + "#21 2.304 Collecting networkx (from torch>=1.9->monai>=1.2.0->-r /tmp/requirements.txt (line 1))\n", + "#21 2.311 Downloading networkx-3.4.2-py3-none-any.whl.metadata (6.3 kB)\n", + "#21 2.333 Collecting fsspec (from torch>=1.9->monai>=1.2.0->-r /tmp/requirements.txt (line 1))\n", + "#21 2.337 Downloading fsspec-2024.12.0-py3-none-any.whl.metadata (11 kB)\n", + "#21 2.381 Collecting nvidia-cuda-nvrtc-cu12==12.4.127 (from torch>=1.9->monai>=1.2.0->-r /tmp/requirements.txt (line 1))\n", + "#21 2.385 Downloading nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 2.395 Collecting nvidia-cuda-runtime-cu12==12.4.127 (from torch>=1.9->monai>=1.2.0->-r /tmp/requirements.txt (line 1))\n", + "#21 2.400 Downloading nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 2.420 Collecting nvidia-cuda-cupti-cu12==12.4.127 (from torch>=1.9->monai>=1.2.0->-r /tmp/requirements.txt (line 1))\n", + "#21 2.427 Downloading nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", + "#21 2.442 Collecting nvidia-cudnn-cu12==9.1.0.70 (from torch>=1.9->monai>=1.2.0->-r /tmp/requirements.txt (line 1))\n", + "#21 2.447 Downloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", + "#21 2.458 Collecting nvidia-cublas-cu12==12.4.5.8 (from torch>=1.9->monai>=1.2.0->-r /tmp/requirements.txt (line 1))\n", + "#21 2.462 Downloading nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 2.514 Collecting nvidia-cufft-cu12==11.2.1.3 (from torch>=1.9->monai>=1.2.0->-r /tmp/requirements.txt (line 1))\n", + "#21 2.518 Downloading nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 2.526 Collecting nvidia-curand-cu12==10.3.5.147 (from torch>=1.9->monai>=1.2.0->-r /tmp/requirements.txt (line 1))\n", + "#21 2.530 Downloading nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 2.539 Collecting nvidia-cusolver-cu12==11.6.1.9 (from torch>=1.9->monai>=1.2.0->-r /tmp/requirements.txt (line 1))\n", + "#21 2.543 Downloading nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", + "#21 2.558 Collecting nvidia-cusparse-cu12==12.3.1.170 (from torch>=1.9->monai>=1.2.0->-r /tmp/requirements.txt (line 1))\n", + "#21 2.563 Downloading nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", + "#21 2.573 Collecting nvidia-cusparselt-cu12==0.6.2 (from torch>=1.9->monai>=1.2.0->-r /tmp/requirements.txt (line 1))\n", + "#21 2.578 Downloading nvidia_cusparselt_cu12-0.6.2-py3-none-manylinux2014_x86_64.whl.metadata (6.8 kB)\n", + "#21 2.590 Collecting nvidia-nccl-cu12==2.21.5 (from torch>=1.9->monai>=1.2.0->-r /tmp/requirements.txt (line 1))\n", + "#21 2.595 Downloading nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl.metadata (1.8 kB)\n", + "#21 2.607 Collecting nvidia-nvtx-cu12==12.4.127 (from torch>=1.9->monai>=1.2.0->-r /tmp/requirements.txt (line 1))\n", + "#21 2.611 Downloading nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.7 kB)\n", + "#21 2.622 Collecting nvidia-nvjitlink-cu12==12.4.127 (from torch>=1.9->monai>=1.2.0->-r /tmp/requirements.txt (line 1))\n", + "#21 2.626 Downloading nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 2.637 Collecting triton==3.2.0 (from torch>=1.9->monai>=1.2.0->-r /tmp/requirements.txt (line 1))\n", + "#21 2.640 Downloading triton-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.4 kB)\n", + "#21 2.655 Collecting sympy==1.13.1 (from torch>=1.9->monai>=1.2.0->-r /tmp/requirements.txt (line 1))\n", + "#21 2.658 Downloading sympy-1.13.1-py3-none-any.whl.metadata (12 kB)\n", + "#21 2.686 Collecting mpmath<1.4,>=1.1.0 (from sympy==1.13.1->torch>=1.9->monai>=1.2.0->-r /tmp/requirements.txt (line 1))\n", + "#21 2.690 Downloading mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)\n", + "#21 2.715 Collecting annotated-types>=0.6.0 (from pydantic!=2.0.*,<3,>=2->python-on-whales<1.0,>=0.60.1->holoscan>=2.9.0->-r /tmp/requirements.txt (line 7))\n", + "#21 2.719 Downloading annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)\n", + "#21 3.298 Collecting pydantic-core==2.27.2 (from pydantic!=2.0.*,<3,>=2->python-on-whales<1.0,>=0.60.1->holoscan>=2.9.0->-r /tmp/requirements.txt (line 7))\n", + "#21 3.301 Downloading pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)\n", + "#21 3.324 Downloading monai-1.4.0-py3-none-any.whl (1.5 MB)\n", + "#21 3.353 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 65.9 MB/s eta 0:00:00\n", + "#21 3.360 Downloading pillow-11.1.0-cp310-cp310-manylinux_2_28_x86_64.whl (4.5 MB)\n", + "#21 3.405 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.5/4.5 MB 110.9 MB/s eta 0:00:00\n", + "#21 3.412 Downloading pydicom-3.0.1-py3-none-any.whl (2.4 MB)\n", + "#21 3.435 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.4/2.4 MB 116.6 MB/s eta 0:00:00\n", + "#21 3.440 Downloading highdicom-0.24.0-py3-none-any.whl (1.1 MB)\n", + "#21 3.455 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 118.9 MB/s eta 0:00:00\n", + "#21 3.463 Downloading SimpleITK-2.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (52.4 MB)\n", + "#21 3.984 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 52.4/52.4 MB 101.6 MB/s eta 0:00:00\n", + "#21 3.991 Downloading holoscan-2.9.0-cp310-cp310-manylinux_2_35_x86_64.whl (41.1 MB)\n", + "#21 4.401 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 41.1/41.1 MB 101.5 MB/s eta 0:00:00\n", + "#21 4.408 Downloading cloudpickle-3.1.1-py3-none-any.whl (20 kB)\n", + "#21 4.415 Downloading cupy_cuda12x-13.3.0-cp310-cp310-manylinux2014_x86_64.whl (90.6 MB)\n", + "#21 5.321 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6/90.6 MB 100.4 MB/s eta 0:00:00\n", + "#21 5.326 Downloading jinja2-3.1.5-py3-none-any.whl (134 kB)\n", + "#21 5.332 Downloading numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.2 MB)\n", + "#21 5.492 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.2/18.2 MB 116.8 MB/s eta 0:00:00\n", + "#21 5.499 Downloading packaging-24.2-py3-none-any.whl (65 kB)\n", + "#21 5.506 Downloading psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (287 kB)\n", + "#21 5.586 Downloading pyjpegls-1.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB)\n", + "#21 5.679 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.7/2.7 MB 28.5 MB/s eta 0:00:00\n", + "#21 5.687 Downloading python_on_whales-0.75.1-py3-none-any.whl (114 kB)\n", + "#21 5.693 Downloading PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (751 kB)\n", + "#21 5.703 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 751.2/751.2 kB 111.7 MB/s eta 0:00:00\n", + "#21 5.712 Downloading requests-2.32.3-py3-none-any.whl (64 kB)\n", + "#21 5.721 Downloading torch-2.6.0-cp310-cp310-manylinux1_x86_64.whl (766.7 MB)\n", + "#21 12.46 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 766.7/766.7 MB 113.4 MB/s eta 0:00:00\n", + "#21 12.47 Downloading nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl (363.4 MB)\n", + "#21 15.69 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 363.4/363.4 MB 116.3 MB/s eta 0:00:00\n", + "#21 15.70 Downloading nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (13.8 MB)\n", + "#21 15.82 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.8/13.8 MB 117.0 MB/s eta 0:00:00\n", + "#21 15.83 Downloading nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (24.6 MB)\n", + "#21 16.05 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.6/24.6 MB 116.4 MB/s eta 0:00:00\n", + "#21 16.05 Downloading nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (883 kB)\n", + "#21 16.07 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 883.7/883.7 kB 76.3 MB/s eta 0:00:00\n", + "#21 16.07 Downloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)\n", + "#21 21.81 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 664.8/664.8 MB 115.3 MB/s eta 0:00:00\n", + "#21 21.82 Downloading nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl (211.5 MB)\n", + "#21 23.66 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 211.5/211.5 MB 115.1 MB/s eta 0:00:00\n", + "#21 23.67 Downloading nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl (56.3 MB)\n", + "#21 24.25 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.3/56.3 MB 99.0 MB/s eta 0:00:00\n", + "#21 24.25 Downloading nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl (127.9 MB)\n", + "#21 25.35 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 127.9/127.9 MB 117.0 MB/s eta 0:00:00\n", + "#21 25.36 Downloading nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl (207.5 MB)\n", + "#21 27.15 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 207.5/207.5 MB 116.0 MB/s eta 0:00:00\n", + "#21 27.16 Downloading nvidia_cusparselt_cu12-0.6.2-py3-none-manylinux2014_x86_64.whl (150.1 MB)\n", + "#21 28.47 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 150.1/150.1 MB 115.5 MB/s eta 0:00:00\n", + "#21 28.48 Downloading nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl (188.7 MB)\n", + "#21 30.18 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 188.7/188.7 MB 111.3 MB/s eta 0:00:00\n", + "#21 30.18 Downloading nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (21.1 MB)\n", + "#21 30.37 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 21.1/21.1 MB 117.4 MB/s eta 0:00:00\n", + "#21 30.37 Downloading nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (99 kB)\n", + "#21 30.38 Downloading sympy-1.13.1-py3-none-any.whl (6.2 MB)\n", + "#21 30.44 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.2/6.2 MB 117.0 MB/s eta 0:00:00\n", + "#21 30.45 Downloading triton-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (253.1 MB)\n", + "#21 33.27 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 253.1/253.1 MB 89.9 MB/s eta 0:00:00\n", + "#21 33.27 Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)\n", + "#21 33.28 Downloading wheel_axle_runtime-0.0.6-py3-none-any.whl (14 kB)\n", + "#21 33.29 Downloading certifi-2024.12.14-py3-none-any.whl (164 kB)\n", + "#21 33.29 Downloading charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (146 kB)\n", + "#21 33.30 Downloading fastrlock-0.8.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl (53 kB)\n", + "#21 33.31 Downloading idna-3.10-py3-none-any.whl (70 kB)\n", + "#21 33.31 Downloading MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20 kB)\n", + "#21 33.32 Downloading pydantic-2.10.6-py3-none-any.whl (431 kB)\n", + "#21 33.33 Downloading pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB)\n", + "#21 33.41 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.0/2.0 MB 22.9 MB/s eta 0:00:00\n", + "#21 33.42 Downloading urllib3-2.3.0-py3-none-any.whl (128 kB)\n", + "#21 33.42 Downloading filelock-3.17.0-py3-none-any.whl (16 kB)\n", + "#21 33.43 Downloading fsspec-2024.12.0-py3-none-any.whl (183 kB)\n", + "#21 33.44 Downloading networkx-3.4.2-py3-none-any.whl (1.7 MB)\n", + "#21 33.45 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 114.7 MB/s eta 0:00:00\n", + "#21 33.46 Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB)\n", + "#21 33.46 Downloading mpmath-1.3.0-py3-none-any.whl (536 kB)\n", + "#21 33.48 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 536.2/536.2 kB 115.5 MB/s eta 0:00:00\n", + "#21 45.67 Installing collected packages: triton, SimpleITK, nvidia-cusparselt-cu12, mpmath, fastrlock, urllib3, typing-extensions, sympy, pyyaml, pydicom, psutil, Pillow, packaging, nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, numpy, networkx, MarkupSafe, idna, fsspec, filelock, cloudpickle, charset-normalizer, certifi, annotated-types, wheel-axle-runtime, requests, pyjpegls, pydantic-core, nvidia-cusparse-cu12, nvidia-cudnn-cu12, Jinja2, cupy-cuda12x, pydantic, nvidia-cusolver-cu12, highdicom, torch, python-on-whales, monai, holoscan\n", + "#21 112.5 Successfully installed Jinja2-3.1.5 MarkupSafe-3.0.2 Pillow-11.1.0 SimpleITK-2.4.1 annotated-types-0.7.0 certifi-2024.12.14 charset-normalizer-3.4.1 cloudpickle-3.1.1 cupy-cuda12x-13.3.0 fastrlock-0.8.3 filelock-3.17.0 fsspec-2024.12.0 highdicom-0.24.0 holoscan-2.9.0 idna-3.10 monai-1.4.0 mpmath-1.3.0 networkx-3.4.2 numpy-1.26.4 nvidia-cublas-cu12-12.4.5.8 nvidia-cuda-cupti-cu12-12.4.127 nvidia-cuda-nvrtc-cu12-12.4.127 nvidia-cuda-runtime-cu12-12.4.127 nvidia-cudnn-cu12-9.1.0.70 nvidia-cufft-cu12-11.2.1.3 nvidia-curand-cu12-10.3.5.147 nvidia-cusolver-cu12-11.6.1.9 nvidia-cusparse-cu12-12.3.1.170 nvidia-cusparselt-cu12-0.6.2 nvidia-nccl-cu12-2.21.5 nvidia-nvjitlink-cu12-12.4.127 nvidia-nvtx-cu12-12.4.127 packaging-24.2 psutil-6.1.1 pydantic-2.10.6 pydantic-core-2.27.2 pydicom-3.0.1 pyjpegls-1.4.0 python-on-whales-0.75.1 pyyaml-6.0.2 requests-2.32.3 sympy-1.13.1 torch-2.6.0 triton-3.2.0 typing-extensions-4.12.2 urllib3-2.3.0 wheel-axle-runtime-0.0.6\n", + "#21 DONE 113.9s\n", + "\n", + "#22 [release 13/18] RUN pip install monai-deploy-app-sdk==2.0.0\n", + "#22 1.416 Defaulting to user installation because normal site-packages is not writeable\n", + "#22 1.603 Collecting monai-deploy-app-sdk==2.0.0\n", + "#22 1.654 Downloading monai_deploy_app_sdk-2.0.0-py3-none-any.whl (132 kB)\n", + "#22 1.697 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 132.6/132.6 KB 3.6 MB/s eta 0:00:00\n", + "#22 1.754 Collecting colorama>=0.4.1\n", + "#22 1.759 Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n", + "#22 1.860 Collecting typeguard>=3.0.0\n", + "#22 1.865 Downloading typeguard-4.4.1-py3-none-any.whl (35 kB)\n", + "#22 1.879 Requirement already satisfied: numpy>=1.21.6 in /home/holoscan/.local/lib/python3.10/site-packages (from monai-deploy-app-sdk==2.0.0) (1.26.4)\n", + "#22 1.880 Requirement already satisfied: holoscan~=2.0 in /home/holoscan/.local/lib/python3.10/site-packages (from monai-deploy-app-sdk==2.0.0) (2.9.0)\n", + "#22 1.897 Requirement already satisfied: psutil<7.0,>=6.0.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (6.1.1)\n", + "#22 1.898 Requirement already satisfied: pyyaml<7.0,>=6.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (6.0.2)\n", + "#22 1.899 Requirement already satisfied: python-on-whales<1.0,>=0.60.1 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.75.1)\n", + "#22 1.900 Requirement already satisfied: Jinja2<4.0,>=3.1.3 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.1.5)\n", + "#22 1.901 Requirement already satisfied: packaging>=23.1 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (24.2)\n", + "#22 1.902 Requirement already satisfied: cupy-cuda12x<14.0,>=12.2 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (13.3.0)\n", + "#22 1.903 Requirement already satisfied: wheel-axle-runtime<1.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.0.6)\n", + "#22 1.903 Requirement already satisfied: requests<3.0,>=2.31.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.32.3)\n", + "#22 1.904 Requirement already satisfied: cloudpickle<4.0,>=3.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.1.1)\n", + "#22 1.987 Collecting pip>22.0.2\n", + "#22 1.999 Using cached pip-25.0-py3-none-any.whl (1.8 MB)\n", + "#22 2.022 Requirement already satisfied: typing-extensions>=4.10.0 in /home/holoscan/.local/lib/python3.10/site-packages (from typeguard>=3.0.0->monai-deploy-app-sdk==2.0.0) (4.12.2)\n", + "#22 2.036 Requirement already satisfied: fastrlock>=0.5 in /home/holoscan/.local/lib/python3.10/site-packages (from cupy-cuda12x<14.0,>=12.2->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.8.3)\n", + "#22 2.041 Requirement already satisfied: MarkupSafe>=2.0 in /home/holoscan/.local/lib/python3.10/site-packages (from Jinja2<4.0,>=3.1.3->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.0.2)\n", + "#22 2.061 Requirement already satisfied: pydantic!=2.0.*,<3,>=2 in /home/holoscan/.local/lib/python3.10/site-packages (from python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.10.6)\n", + "#22 2.069 Requirement already satisfied: certifi>=2017.4.17 in /home/holoscan/.local/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2024.12.14)\n", + "#22 2.070 Requirement already satisfied: urllib3<3,>=1.21.1 in /home/holoscan/.local/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.3.0)\n", + "#22 2.071 Requirement already satisfied: idna<4,>=2.5 in /home/holoscan/.local/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.10)\n", + "#22 2.071 Requirement already satisfied: charset-normalizer<4,>=2 in /home/holoscan/.local/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.4.1)\n", + "#22 2.075 Requirement already satisfied: filelock in /home/holoscan/.local/lib/python3.10/site-packages (from wheel-axle-runtime<1.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.17.0)\n", + "#22 2.093 Requirement already satisfied: annotated-types>=0.6.0 in /home/holoscan/.local/lib/python3.10/site-packages (from pydantic!=2.0.*,<3,>=2->python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.7.0)\n", + "#22 2.094 Requirement already satisfied: pydantic-core==2.27.2 in /home/holoscan/.local/lib/python3.10/site-packages (from pydantic!=2.0.*,<3,>=2->python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.27.2)\n", + "#22 2.498 Installing collected packages: typeguard, pip, colorama, monai-deploy-app-sdk\n", + "#22 3.427 Successfully installed colorama-0.4.6 monai-deploy-app-sdk-2.0.0 pip-25.0 typeguard-4.4.1\n", + "#22 DONE 3.6s\n", + "\n", + "#23 [release 14/18] COPY ./models /opt/holoscan/models\n", + "#23 DONE 0.3s\n", + "\n", + "#24 [release 15/18] COPY ./map/app.json /etc/holoscan/app.json\n", + "#24 DONE 0.0s\n", + "\n", + "#25 [release 16/18] COPY ./app.config /var/holoscan/app.yaml\n", + "#25 DONE 0.1s\n", + "\n", + "#26 [release 17/18] COPY ./map/pkg.json /etc/holoscan/pkg.json\n", + "#26 DONE 0.2s\n", + "\n", + "#27 [release 18/18] COPY ./app /opt/holoscan/app\n", + "#27 DONE 0.1s\n", + "\n", + "#28 exporting to docker image format\n", + "#28 exporting layers\n", + "#28 exporting layers 205.6s done\n", + "#28 exporting manifest sha256:4da1af22bc19284ede41eafbb2ee59a221a08b1177a65d265463f91f72d9330a 0.0s done\n", + "#28 exporting config sha256:bd0c6ea997b6616e1fe7bcad7af9bdf8cd1349b0e7417d1995a634204e10b7db 0.0s done\n", + "#28 sending tarball\n", + "#28 ...\n", + "\n", + "#29 importing to docker\n", + "#29 loading layer 5a86d5b747ab 276B / 276B\n", + "#29 loading layer fa24015991cf 65.54kB / 5.10MB\n", + "#29 loading layer d0e9054e123a 557.06kB / 3.33GB\n", + "#29 loading layer d0e9054e123a 142.05MB / 3.33GB 6.3s\n", + "#29 loading layer d0e9054e123a 317.52MB / 3.33GB 10.4s\n", + "#29 loading layer d0e9054e123a 521.40MB / 3.33GB 16.5s\n", + "#29 loading layer d0e9054e123a 755.37MB / 3.33GB 20.7s\n", + "#29 loading layer d0e9054e123a 955.91MB / 3.33GB 24.9s\n", + "#29 loading layer d0e9054e123a 1.18GB / 3.33GB 29.0s\n", + "#29 loading layer d0e9054e123a 1.38GB / 3.33GB 33.1s\n", + "#29 loading layer d0e9054e123a 1.60GB / 3.33GB 37.1s\n", + "#29 loading layer d0e9054e123a 1.85GB / 3.33GB 41.3s\n", + "#29 loading layer d0e9054e123a 2.14GB / 3.33GB 45.4s\n", + "#29 loading layer d0e9054e123a 2.30GB / 3.33GB 51.6s\n", + "#29 loading layer d0e9054e123a 2.34GB / 3.33GB 57.5s\n", + "#29 loading layer d0e9054e123a 2.51GB / 3.33GB 63.5s\n", + "#29 loading layer d0e9054e123a 2.71GB / 3.33GB 67.6s\n", + "#29 loading layer d0e9054e123a 2.99GB / 3.33GB 71.8s\n", + "#29 loading layer d0e9054e123a 3.17GB / 3.33GB 78.0s\n", + "#29 loading layer 648e09e4cbfd 65.54kB / 3.82MB\n", + "#29 loading layer 3d06fe16d5f1 262.14kB / 26.20MB\n", + "#29 loading layer 1281a6eddb70 512B / 512B\n", + "#29 loading layer 3a64fd65428a 320B / 320B\n", + "#29 loading layer 958543fd52f7 300B / 300B\n", + "#29 loading layer 2b610be3d181 4.04kB / 4.04kB\n", + "#29 loading layer 5a86d5b747ab 276B / 276B 87.6s done\n", + "#29 loading layer fa24015991cf 65.54kB / 5.10MB 87.6s done\n", + "#29 loading layer d0e9054e123a 3.28GB / 3.33GB 86.9s done\n", + "#29 loading layer 648e09e4cbfd 65.54kB / 3.82MB 1.7s done\n", + "#29 loading layer 3d06fe16d5f1 262.14kB / 26.20MB 1.0s done\n", + "#29 loading layer 1281a6eddb70 512B / 512B 0.5s done\n", + "#29 loading layer 3a64fd65428a 320B / 320B 0.5s done\n", + "#29 loading layer 958543fd52f7 300B / 300B 0.4s done\n", + "#29 loading layer 2b610be3d181 4.04kB / 4.04kB 0.4s done\n", + "#29 DONE 87.6s\n", + "\n", + "#28 exporting to docker image format\n", + "#28 sending tarball 129.0s done\n", + "#28 DONE 334.7s\n", + "\n", + "#30 exporting cache to client directory\n", + "#30 preparing build cache for export\n", + "#30 writing layer sha256:067153055e77a79b3715e3a56caac895ee686a2fa6cadc4423c28d2eb20f0542\n", + "#30 writing layer sha256:067153055e77a79b3715e3a56caac895ee686a2fa6cadc4423c28d2eb20f0542 done\n", + "#30 writing layer sha256:1a0d52c93099897b518eb6cc6cd0fa3d52ff733e8606b4d8c92675ba9e7101ff done\n", + "#30 writing layer sha256:234b866f57e0c5d555af2d87a1857a17ec4ac7e70d2dc6c31ff0a072a4607f24 done\n", + "#30 writing layer sha256:255905badeaa82f032e1043580eed8b745c19cd4a2cb7183883ee5a30f851d6d done\n", + "#30 writing layer sha256:3713021b02770a720dea9b54c03d0ed83e03a2ef5dce2898c56a327fee9a8bca done\n", + "#30 writing layer sha256:3a80776cdc9c9ef79bb38510849c9160f82462d346bf5a8bf29c811391b4e763 done\n", + "#30 writing layer sha256:440849e3569a74baf883d1a14010854807280727ba17c36f82beee5b7d5052b2 done\n", + "#30 writing layer sha256:46c9c54348df10b0d7700bf932d5de7dc5bf9ab91e685db7086e29e381ff8e12 done\n", + "#30 writing layer sha256:4bf64b4a646ee3a3bfe543702f056f9d42e4b3f4cd8465f46a47b0ddc147ecc8\n", + "#30 writing layer sha256:4bf64b4a646ee3a3bfe543702f056f9d42e4b3f4cd8465f46a47b0ddc147ecc8 0.6s done\n", + "#30 writing layer sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1\n", + "#30 writing layer sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 done\n", + "#30 writing layer sha256:67b3546b211deefd67122e680c0932886e0b3c6bd6ae0665e3ab25d2d9f0cda0 done\n", + "#30 writing layer sha256:695ba418a525cecd1c5442c010ea5f070327d38dfa8f533e63ae845fc3660be8 done\n", + "#30 writing layer sha256:7265ec80a3c8c57167f59f1449c2f21828c32e4709977c1b621386bb3184cf5a 0.0s done\n", + "#30 writing layer sha256:7ddbbcbbe9e3f16cc9ad8b9a58d58784b79dc5f14ff7c2b510885ba52c22296d 0.0s done\n", + "#30 writing layer sha256:95f7cac88539ce722ac1b7fd96100ad34e88797194f42e187db5df91772bcbca 0.0s done\n", + "#30 writing layer sha256:980c13e156f90218b216bc6b0430472bbda71c0202804d350c0e16ef02075885 done\n", + "#30 writing layer sha256:99298707ae15b7a513faee23c8ff010664939627cce97994f59b6d5cf59ea118\n", + "#30 writing layer sha256:99298707ae15b7a513faee23c8ff010664939627cce97994f59b6d5cf59ea118 54.5s done\n", + "#30 writing layer sha256:ac52600be001236a2c291a4c5902c915bf5ec9d2441c06d2a54c587b76345847\n", + "#30 writing layer sha256:ac52600be001236a2c291a4c5902c915bf5ec9d2441c06d2a54c587b76345847 done\n", + "#30 writing layer sha256:aee6cca3099a5220871a6e00732843296f61b693822b537c69c1a7bf14cd1b12 0.1s done\n", + "#30 writing layer sha256:bb2407c281c362de0374201b303bd07b66034affb513c87fcc2063aa53df5358 0.1s done\n", + "#30 writing layer sha256:bc25d810fc1fd99656c1b07d422e88cdb896508730175bc3ec187b79f3787044\n", + "#30 preparing build cache for export 55.7s done\n", + "#30 writing layer sha256:bc25d810fc1fd99656c1b07d422e88cdb896508730175bc3ec187b79f3787044 done\n", + "#30 writing layer sha256:be0dad9c160128582482df5e64337c99c213a48988d5d12d453bd03bc2a4c1b1 done\n", + "#30 writing layer sha256:c94af7742e07c9041104260b79637c243ef8dd25eb4241f06ef1a3899a99f2bd done\n", + "#30 writing layer sha256:d339273dfb7fc3b7fd896d3610d360ab9a09ab33a818093cb73b4be7639b6e99 done\n", + "#30 writing layer sha256:e12657e78d4fc5b6d4e07266eec8aee83c8dc1ad0e89648bc4a00b088bab0812 0.0s done\n", + "#30 writing layer sha256:e4010fcd43e6d2b7dc5e01a744445d8d97ecb37c2488c1e5508b1c26d9dc0832 0.0s done\n", + "#30 writing layer sha256:efc9014e2a4cb1e133b80bb4f047e9141e98685eb95b8d2471a8e35b86643e31 done\n", + "#30 writing config sha256:6f53ff17759f64b05fccbdc3ebcc89511178905d0639b8c8c51473fa58aa5930 0.0s done\n", + "#30 writing cache manifest sha256:fc06123c606626b19ea0c2ed6307971938a11e38874ce5f670ed1a909b55f953 0.0s done\n", + "#30 DONE 55.7s\n", + "[2025-01-29 14:23:37,936] [INFO] (packager) - Build Summary:\n", + "\n", + "Platform: x64-workstation/dgpu\n", + " Status: Succeeded\n", + " Docker Tag: mednist_app-x64-workstation-dgpu-linux-amd64:1.0\n", + " Tarball: None\n" + ] + } + ], "source": [ "tag_prefix = \"mednist_app\"\n", "\n", @@ -1117,9 +1962,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "mednist_app-x64-workstation-dgpu-linux-amd64 1.0 bd0c6ea997b6 6 minutes ago 8.64GB\n" + ] + } + ], "source": [ "!docker image ls | grep {tag_prefix}" ] @@ -1135,9 +1988,93 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[2025-01-29 14:23:40,347] [INFO] (runner) - Checking dependencies...\n", + "[2025-01-29 14:23:40,348] [INFO] (runner) - --> Verifying if \"docker\" is installed...\n", + "\n", + "[2025-01-29 14:23:40,349] [INFO] (runner) - --> Verifying if \"docker-buildx\" is installed...\n", + "\n", + "[2025-01-29 14:23:40,353] [INFO] (runner) - --> Verifying if \"mednist_app-x64-workstation-dgpu-linux-amd64:1.0\" is available...\n", + "\n", + "[2025-01-29 14:23:40,453] [INFO] (runner) - Reading HAP/MAP manifest...\n", + "Successfully copied 2.56kB to /tmp/tmpnhktw736/app.json\n", + "Successfully copied 2.05kB to /tmp/tmpnhktw736/pkg.json\n", + "8955ab5e4aef6b83355220e70e421a94b58670eb9ad05cecbba971905c1833b2\n", + "[2025-01-29 14:23:40,759] [INFO] (runner) - --> Verifying if \"nvidia-ctk\" is installed...\n", + "\n", + "[2025-01-29 14:23:40,769] [INFO] (runner) - --> Verifying \"nvidia-ctk\" version...\n", + "\n", + "[2025-01-29 14:23:41,150] [INFO] (common) - Launching container (30bd3cacd8fc) using image 'mednist_app-x64-workstation-dgpu-linux-amd64:1.0'...\n", + " container name: modest_gould\n", + " host name: mingq-dt\n", + " network: host\n", + " user: 1000:1000\n", + " ulimits: memlock=-1:-1, stack=67108864:67108864\n", + " cap_add: CAP_SYS_PTRACE\n", + " ipc mode: host\n", + " shared memory size: 67108864\n", + " devices: \n", + " group_add: 44\n", + "2025-01-29 22:23:42 [INFO] Launching application python3 /opt/holoscan/app/mednist_classifier_monaideploy.py ...\n", + "\n", + "[info] [fragment.cpp:599] Loading extensions from configs...\n", + "\n", + "[info] [gxf_executor.cpp:264] Creating context\n", + "\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'output_folder'\n", + "\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'text'\n", + "\n", + "[info] [gxf_executor.cpp:2208] Activating Graph...\n", + "\n", + "[info] [gxf_executor.cpp:2238] Running Graph...\n", + "\n", + "[info] [gxf_executor.cpp:2240] Waiting for completion...\n", + "\n", + "[info] [greedy_scheduler.cpp:191] Scheduling 3 entities\n", + "\n", + "/home/holoscan/.local/lib/python3.10/site-packages/monai/data/meta_tensor.py:116: UserWarning: The given NumPy array is not writable, and PyTorch does not support non-writable tensors. This means writing to this tensor will result in undefined behavior. You may want to copy the array to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /pytorch/torch/csrc/utils/tensor_numpy.cpp:203.)\n", + "\n", + " return torch.as_tensor(x, *args, **_kwargs).as_subclass(cls)\n", + "\n", + "WARNING:pydicom:'Dataset.is_implicit_VR' will be removed in v4.0, set the Transfer Syntax UID or use the 'implicit_vr' argument with Dataset.save_as() or dcmwrite() instead\n", + "\n", + "WARNING:pydicom:'Dataset.is_little_endian' will be removed in v4.0, set the Transfer Syntax UID or use the 'little_endian' argument with Dataset.save_as() or dcmwrite() instead\n", + "\n", + "WARNING:pydicom:Invalid value for VR UI: 'xyz'. Please see for allowed values for each VR.\n", + "\n", + "/home/holoscan/.local/lib/python3.10/site-packages/pydicom/valuerep.py:440: UserWarning: Invalid value for VR UI: 'xyz'. Please see for allowed values for each VR.\n", + "\n", + " warn_and_log(msg)\n", + "\n", + "WARNING:pydicom:'write_like_original' is deprecated and will be removed in v4.0, please use 'enforce_file_format' instead\n", + "\n", + "[info] [greedy_scheduler.cpp:372] Scheduler stopped: Some entities are waiting for execution, but there are no periodic or async entities to get out of the deadlock.\n", + "\n", + "[info] [greedy_scheduler.cpp:401] Scheduler finished.\n", + "\n", + "[info] [gxf_executor.cpp:2243] Deactivating Graph...\n", + "\n", + "[info] [gxf_executor.cpp:2251] Graph execution finished.\n", + "\n", + "[info] [gxf_executor.cpp:294] Destroying context\n", + "\n", + "AbdomenCT\n", + "\n", + "[2025-01-29 14:23:51,575] [INFO] (common) - Container 'modest_gould'(30bd3cacd8fc) exited.\n" + ] + } + ], "source": [ "# Clear the output folder and run the MAP. The input is expected to be a folder.\n", "!rm -rf $HOLOSCAN_OUTPUT_PATH\n", @@ -1146,9 +2083,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\"AbdomenCT\"" + ] + } + ], "source": [ "!cat $HOLOSCAN_OUTPUT_PATH/output.json" ] @@ -1162,7 +2107,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "metadata": {}, "outputs": [], "source": [ diff --git a/notebooks/tutorials/03_segmentation_app.ipynb b/notebooks/tutorials/03_segmentation_app.ipynb index c09a7fd1..ab0b9031 100644 --- a/notebooks/tutorials/03_segmentation_app.ipynb +++ b/notebooks/tutorials/03_segmentation_app.ipynb @@ -92,7 +92,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -127,7 +127,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -359,7 +359,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -389,7 +389,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -450,7 +450,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -602,7 +602,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -723,109 +723,107 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "[info] [gxf_executor.cpp:292] Destroying context\n", - "[2025-01-16 16:17:05,271] [INFO] (__main__.AISpleenSegApp) - Begin run\n", - "[info] [fragment.cpp:588] Loading extensions from configs...\n", - "[2025-01-16 16:17:05,286] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=[])\n", - "[2025-01-16 16:17:05,293] [INFO] (root) - AppContext object: AppContext(input_path=dcm, output_path=output, model_path=models, workdir=)\n", - "[2025-01-16 16:17:05,295] [INFO] (__main__.AISpleenSegApp) - App input and output path: dcm, output\n", - "[info] [gxf_executor.cpp:262] Creating context\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'input_folder'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'dicom_study_list'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'study_selected_series_list'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'image'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'output_folder'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'study_selected_series_list'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'seg_image'\n", - "[info] [gxf_executor.cpp:2178] Activating Graph...\n", - "[info] [gxf_executor.cpp:2208] Running Graph...\n", - "[info] [gxf_executor.cpp:2210] Waiting for completion...\n", + "[info] [fragment.cpp:599] Loading extensions from configs...\n", + "[2025-01-29 14:30:17,208] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=[])\n", + "[2025-01-29 14:30:17,220] [INFO] (root) - AppContext object: AppContext(input_path=dcm, output_path=output, model_path=models, workdir=)\n", + "[2025-01-29 14:30:17,222] [INFO] (__main__.AISpleenSegApp) - App input and output path: dcm, output\n", + "[info] [gxf_executor.cpp:264] Creating context\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'input_folder'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'dicom_study_list'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'output_folder'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'seg_image'\n", + "[info] [gxf_executor.cpp:2208] Activating Graph...\n", + "[info] [gxf_executor.cpp:2238] Running Graph...\n", + "[info] [gxf_executor.cpp:2240] Waiting for completion...\n", "[info] [greedy_scheduler.cpp:191] Scheduling 5 entities\n", - "[2025-01-16 16:17:05,329] [INFO] (monai.deploy.operators.dicom_data_loader_operator.DICOMDataLoaderOperator) - No or invalid input path from the optional input port: None\n", - "[2025-01-16 16:17:05,905] [INFO] (root) - Finding series for Selection named: CT Series\n", - "[2025-01-16 16:17:05,906] [INFO] (root) - Searching study, : 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291\n", + "[2025-01-29 14:30:17,274] [INFO] (monai.deploy.operators.dicom_data_loader_operator.DICOMDataLoaderOperator) - No or invalid input path from the optional input port: None\n", + "[2025-01-29 14:30:17,612] [INFO] (root) - Finding series for Selection named: CT Series\n", + "[2025-01-29 14:30:17,613] [INFO] (root) - Searching study, : 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291\n", " # of series: 1\n", - "[2025-01-16 16:17:05,907] [INFO] (root) - Working on series, instance UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", - "[2025-01-16 16:17:05,908] [INFO] (root) - On attribute: 'StudyDescription' to match value: '(.*?)'\n", - "[2025-01-16 16:17:05,910] [INFO] (root) - Series attribute StudyDescription value: CT ABDOMEN W IV CONTRAST\n", - "[2025-01-16 16:17:05,911] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 16:17:05,913] [INFO] (root) - On attribute: 'Modality' to match value: '(?i)CT'\n", - "[2025-01-16 16:17:05,915] [INFO] (root) - Series attribute Modality value: CT\n", - "[2025-01-16 16:17:05,918] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 16:17:05,919] [INFO] (root) - On attribute: 'SeriesDescription' to match value: '(.*?)'\n", - "[2025-01-16 16:17:05,921] [INFO] (root) - Series attribute SeriesDescription value: ABD/PANC 3.0 B31f\n", - "[2025-01-16 16:17:05,922] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 16:17:05,923] [INFO] (root) - On attribute: 'ImageType' to match value: ['PRIMARY', 'ORIGINAL']\n", - "[2025-01-16 16:17:05,924] [INFO] (root) - Series attribute ImageType value: None\n", - "[2025-01-16 16:17:05,928] [INFO] (root) - Selected Series, UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", - "[2025-01-16 16:17:06,800] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Converted Image object metadata:\n", - "[2025-01-16 16:17:06,801] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesInstanceUID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239, type \n", - "[2025-01-16 16:17:06,802] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesDate: 20090831, type \n", - "[2025-01-16 16:17:06,803] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesTime: 101721.452, type \n", - "[2025-01-16 16:17:06,803] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Modality: CT, type \n", - "[2025-01-16 16:17:06,804] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesDescription: ABD/PANC 3.0 B31f, type \n", - "[2025-01-16 16:17:06,805] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - PatientPosition: HFS, type \n", - "[2025-01-16 16:17:06,806] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesNumber: 8, type \n", - "[2025-01-16 16:17:06,807] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - row_pixel_spacing: 0.7890625, type \n", - "[2025-01-16 16:17:06,807] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - col_pixel_spacing: 0.7890625, type \n", - "[2025-01-16 16:17:06,808] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - depth_pixel_spacing: 1.5, type \n", - "[2025-01-16 16:17:06,809] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - row_direction_cosine: [1.0, 0.0, 0.0], type \n", - "[2025-01-16 16:17:06,811] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - col_direction_cosine: [0.0, 1.0, 0.0], type \n", - "[2025-01-16 16:17:06,813] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - depth_direction_cosine: [0.0, 0.0, 1.0], type \n", - "[2025-01-16 16:17:06,815] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - dicom_affine_transform: [[ 0.7890625 0. 0. -197.60547 ]\n", + "[2025-01-29 14:30:17,614] [INFO] (root) - Working on series, instance UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", + "[2025-01-29 14:30:17,614] [INFO] (root) - On attribute: 'StudyDescription' to match value: '(.*?)'\n", + "[2025-01-29 14:30:17,615] [INFO] (root) - Series attribute StudyDescription value: CT ABDOMEN W IV CONTRAST\n", + "[2025-01-29 14:30:17,616] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:30:17,617] [INFO] (root) - On attribute: 'Modality' to match value: '(?i)CT'\n", + "[2025-01-29 14:30:17,618] [INFO] (root) - Series attribute Modality value: CT\n", + "[2025-01-29 14:30:17,619] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:30:17,620] [INFO] (root) - On attribute: 'SeriesDescription' to match value: '(.*?)'\n", + "[2025-01-29 14:30:17,622] [INFO] (root) - Series attribute SeriesDescription value: ABD/PANC 3.0 B31f\n", + "[2025-01-29 14:30:17,623] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:30:17,624] [INFO] (root) - On attribute: 'ImageType' to match value: ['PRIMARY', 'ORIGINAL']\n", + "[2025-01-29 14:30:17,625] [INFO] (root) - Series attribute ImageType value: None\n", + "[2025-01-29 14:30:17,626] [INFO] (root) - Selected Series, UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", + "[2025-01-29 14:30:18,261] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Converted Image object metadata:\n", + "[2025-01-29 14:30:18,262] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesInstanceUID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239, type \n", + "[2025-01-29 14:30:18,263] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesDate: 20090831, type \n", + "[2025-01-29 14:30:18,263] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesTime: 101721.452, type \n", + "[2025-01-29 14:30:18,265] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Modality: CT, type \n", + "[2025-01-29 14:30:18,266] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesDescription: ABD/PANC 3.0 B31f, type \n", + "[2025-01-29 14:30:18,268] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - PatientPosition: HFS, type \n", + "[2025-01-29 14:30:18,269] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesNumber: 8, type \n", + "[2025-01-29 14:30:18,271] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - row_pixel_spacing: 0.7890625, type \n", + "[2025-01-29 14:30:18,272] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - col_pixel_spacing: 0.7890625, type \n", + "[2025-01-29 14:30:18,273] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - depth_pixel_spacing: 1.5, type \n", + "[2025-01-29 14:30:18,275] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - row_direction_cosine: [1.0, 0.0, 0.0], type \n", + "[2025-01-29 14:30:18,276] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - col_direction_cosine: [0.0, 1.0, 0.0], type \n", + "[2025-01-29 14:30:18,277] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - depth_direction_cosine: [0.0, 0.0, 1.0], type \n", + "[2025-01-29 14:30:18,279] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - dicom_affine_transform: [[ 0.7890625 0. 0. -197.60547 ]\n", " [ 0. 0.7890625 0. -398.60547 ]\n", " [ 0. 0. 1.5 -383. ]\n", " [ 0. 0. 0. 1. ]], type \n", - "[2025-01-16 16:17:06,816] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - nifti_affine_transform: [[ -0.7890625 -0. -0. 197.60547 ]\n", + "[2025-01-29 14:30:18,282] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - nifti_affine_transform: [[ -0.7890625 -0. -0. 197.60547 ]\n", " [ -0. -0.7890625 -0. 398.60547 ]\n", " [ 0. 0. 1.5 -383. ]\n", " [ 0. 0. 0. 1. ]], type \n", - "[2025-01-16 16:17:06,818] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyInstanceUID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291, type \n", - "[2025-01-16 16:17:06,819] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyID: , type \n", - "[2025-01-16 16:17:06,820] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyDate: 20090831, type \n", - "[2025-01-16 16:17:06,821] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyTime: 095948.599, type \n", - "[2025-01-16 16:17:06,822] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyDescription: CT ABDOMEN W IV CONTRAST, type \n", - "[2025-01-16 16:17:06,823] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - AccessionNumber: 5471978513296937, type \n", - "[2025-01-16 16:17:06,824] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - selection_name: CT Series, type \n" + "[2025-01-29 14:30:18,283] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyInstanceUID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291, type \n", + "[2025-01-29 14:30:18,284] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyID: , type \n", + "[2025-01-29 14:30:18,285] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyDate: 20090831, type \n", + "[2025-01-29 14:30:18,286] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyTime: 095948.599, type \n", + "[2025-01-29 14:30:18,290] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyDescription: CT ABDOMEN W IV CONTRAST, type \n", + "[2025-01-29 14:30:18,291] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - AccessionNumber: 5471978513296937, type \n", + "[2025-01-29 14:30:18,292] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - selection_name: CT Series, type \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "2025-01-16 16:17:08,010 INFO image_writer.py:197 - writing: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output/saved_images_folder/1.3.6.1.4.1.14519.5.2.1.7085.2626/1.3.6.1.4.1.14519.5.2.1.7085.2626.nii\n", - "2025-01-16 16:17:11,416 INFO image_writer.py:197 - writing: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output/saved_images_folder/1.3.6.1.4.1.14519.5.2.1.7085.2626/1.3.6.1.4.1.14519.5.2.1.7085.2626_seg.nii\n" + "2025-01-29 14:30:19,501 INFO image_writer.py:197 - writing: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output/saved_images_folder/1.3.6.1.4.1.14519.5.2.1.7085.2626/1.3.6.1.4.1.14519.5.2.1.7085.2626.nii\n", + "2025-01-29 14:30:23,998 INFO image_writer.py:197 - writing: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output/saved_images_folder/1.3.6.1.4.1.14519.5.2.1.7085.2626/1.3.6.1.4.1.14519.5.2.1.7085.2626_seg.nii\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "[2025-01-16 16:17:13,882] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Output Seg image numpy array shaped: (204, 512, 512)\n", - "[2025-01-16 16:17:13,888] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Output Seg image pixel max value: 1\n", + "[2025-01-29 14:30:26,134] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Output Seg image numpy array shaped: (204, 512, 512)\n", + "[2025-01-29 14:30:26,142] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Output Seg image pixel max value: 1\n", "/home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages/highdicom/base.py:163: UserWarning: The string \"C3N-00198\" is unlikely to represent the intended person name since it contains only a single component. Construct a person name according to the format in described in https://dicom.nema.org/dicom/2013/output/chtml/part05/sect_6.2.html#sect_6.2.1.2, or, in pydicom 2.2.0 or later, use the pydicom.valuerep.PersonName.from_named_components() method to construct the person name correctly. If a single-component name is really intended, add a trailing caret character to disambiguate the name.\n", " check_person_name(patient_name)\n", - "[2025-01-16 16:17:15,281] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 16:17:15,282] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", - "[2025-01-16 16:17:15,283] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 16:17:15,284] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", - "[2025-01-16 16:17:15,286] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", - "[2025-01-16 16:17:15,287] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 16:17:15,289] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", - "[2025-01-16 16:17:15,290] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", - "[2025-01-16 16:17:15,290] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", + "[2025-01-29 14:30:28,033] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:30:28,034] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", + "[2025-01-29 14:30:28,035] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:30:28,036] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", + "[2025-01-29 14:30:28,038] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", + "[2025-01-29 14:30:28,040] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:30:28,041] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", + "[2025-01-29 14:30:28,042] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", + "[2025-01-29 14:30:28,044] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", "[info] [greedy_scheduler.cpp:372] Scheduler stopped: Some entities are waiting for execution, but there are no periodic or async entities to get out of the deadlock.\n", "[info] [greedy_scheduler.cpp:401] Scheduler finished.\n", - "[info] [gxf_executor.cpp:2213] Deactivating Graph...\n", - "[info] [gxf_executor.cpp:2221] Graph execution finished.\n", - "[2025-01-16 16:17:15,444] [INFO] (__main__.AISpleenSegApp) - End run\n" + "[info] [gxf_executor.cpp:2243] Deactivating Graph...\n", + "[info] [gxf_executor.cpp:2251] Graph execution finished.\n", + "[2025-01-29 14:30:28,156] [INFO] (__main__.AISpleenSegApp) - End run\n" ] } ], @@ -858,7 +856,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -875,7 +873,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -1051,7 +1049,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -1208,7 +1206,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -1229,7 +1227,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -1257,96 +1255,96 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[\u001b[32minfo\u001b[m] [fragment.cpp:588] Loading extensions from configs...\n", - "[2025-01-16 16:17:25,763] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=['my_app'])\n", - "[2025-01-16 16:17:25,766] [INFO] (root) - AppContext object: AppContext(input_path=dcm, output_path=output, model_path=models, workdir=)\n", - "[2025-01-16 16:17:25,766] [INFO] (app.AISpleenSegApp) - App input and output path: dcm, output\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:262] Creating context\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'input_folder'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'dicom_study_list'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'study_selected_series_list'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'image'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'output_folder'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'study_selected_series_list'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'seg_image'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2178] Activating Graph...\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2208] Running Graph...\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2210] Waiting for completion...\n", + "[\u001b[32minfo\u001b[m] [fragment.cpp:599] Loading extensions from configs...\n", + "[2025-01-29 14:30:34,908] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=['my_app'])\n", + "[2025-01-29 14:30:34,910] [INFO] (root) - AppContext object: AppContext(input_path=dcm, output_path=output, model_path=models, workdir=)\n", + "[2025-01-29 14:30:34,910] [INFO] (app.AISpleenSegApp) - App input and output path: dcm, output\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:264] Creating context\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'input_folder'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'dicom_study_list'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'output_folder'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'seg_image'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2208] Activating Graph...\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2238] Running Graph...\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2240] Waiting for completion...\n", "[\u001b[32minfo\u001b[m] [greedy_scheduler.cpp:191] Scheduling 5 entities\n", - "[2025-01-16 16:17:25,781] [INFO] (monai.deploy.operators.dicom_data_loader_operator.DICOMDataLoaderOperator) - No or invalid input path from the optional input port: None\n", - "[2025-01-16 16:17:26,696] [INFO] (root) - Finding series for Selection named: CT Series\n", - "[2025-01-16 16:17:26,696] [INFO] (root) - Searching study, : 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291\n", + "[2025-01-29 14:30:34,938] [INFO] (monai.deploy.operators.dicom_data_loader_operator.DICOMDataLoaderOperator) - No or invalid input path from the optional input port: None\n", + "[2025-01-29 14:30:35,857] [INFO] (root) - Finding series for Selection named: CT Series\n", + "[2025-01-29 14:30:35,857] [INFO] (root) - Searching study, : 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291\n", " # of series: 1\n", - "[2025-01-16 16:17:26,696] [INFO] (root) - Working on series, instance UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", - "[2025-01-16 16:17:26,696] [INFO] (root) - On attribute: 'StudyDescription' to match value: '(.*?)'\n", - "[2025-01-16 16:17:26,696] [INFO] (root) - Series attribute StudyDescription value: CT ABDOMEN W IV CONTRAST\n", - "[2025-01-16 16:17:26,696] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 16:17:26,696] [INFO] (root) - On attribute: 'Modality' to match value: '(?i)CT'\n", - "[2025-01-16 16:17:26,696] [INFO] (root) - Series attribute Modality value: CT\n", - "[2025-01-16 16:17:26,696] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 16:17:26,697] [INFO] (root) - On attribute: 'SeriesDescription' to match value: '(.*?)'\n", - "[2025-01-16 16:17:26,697] [INFO] (root) - Series attribute SeriesDescription value: ABD/PANC 3.0 B31f\n", - "[2025-01-16 16:17:26,697] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 16:17:26,697] [INFO] (root) - On attribute: 'ImageType' to match value: ['PRIMARY', 'ORIGINAL']\n", - "[2025-01-16 16:17:26,697] [INFO] (root) - Series attribute ImageType value: None\n", - "[2025-01-16 16:17:26,697] [INFO] (root) - Selected Series, UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", - "[2025-01-16 16:17:27,726] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Converted Image object metadata:\n", - "[2025-01-16 16:17:27,726] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesInstanceUID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239, type \n", - "[2025-01-16 16:17:27,726] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesDate: 20090831, type \n", - "[2025-01-16 16:17:27,726] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesTime: 101721.452, type \n", - "[2025-01-16 16:17:27,726] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Modality: CT, type \n", - "[2025-01-16 16:17:27,726] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesDescription: ABD/PANC 3.0 B31f, type \n", - "[2025-01-16 16:17:27,726] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - PatientPosition: HFS, type \n", - "[2025-01-16 16:17:27,726] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesNumber: 8, type \n", - "[2025-01-16 16:17:27,726] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - row_pixel_spacing: 0.7890625, type \n", - "[2025-01-16 16:17:27,726] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - col_pixel_spacing: 0.7890625, type \n", - "[2025-01-16 16:17:27,726] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - depth_pixel_spacing: 1.5, type \n", - "[2025-01-16 16:17:27,726] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - row_direction_cosine: [1.0, 0.0, 0.0], type \n", - "[2025-01-16 16:17:27,726] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - col_direction_cosine: [0.0, 1.0, 0.0], type \n", - "[2025-01-16 16:17:27,726] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - depth_direction_cosine: [0.0, 0.0, 1.0], type \n", - "[2025-01-16 16:17:27,726] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - dicom_affine_transform: [[ 0.7890625 0. 0. -197.60547 ]\n", + "[2025-01-29 14:30:35,857] [INFO] (root) - Working on series, instance UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", + "[2025-01-29 14:30:35,857] [INFO] (root) - On attribute: 'StudyDescription' to match value: '(.*?)'\n", + "[2025-01-29 14:30:35,857] [INFO] (root) - Series attribute StudyDescription value: CT ABDOMEN W IV CONTRAST\n", + "[2025-01-29 14:30:35,857] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:30:35,857] [INFO] (root) - On attribute: 'Modality' to match value: '(?i)CT'\n", + "[2025-01-29 14:30:35,857] [INFO] (root) - Series attribute Modality value: CT\n", + "[2025-01-29 14:30:35,857] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:30:35,857] [INFO] (root) - On attribute: 'SeriesDescription' to match value: '(.*?)'\n", + "[2025-01-29 14:30:35,857] [INFO] (root) - Series attribute SeriesDescription value: ABD/PANC 3.0 B31f\n", + "[2025-01-29 14:30:35,857] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:30:35,858] [INFO] (root) - On attribute: 'ImageType' to match value: ['PRIMARY', 'ORIGINAL']\n", + "[2025-01-29 14:30:35,858] [INFO] (root) - Series attribute ImageType value: None\n", + "[2025-01-29 14:30:35,858] [INFO] (root) - Selected Series, UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", + "[2025-01-29 14:30:36,487] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Converted Image object metadata:\n", + "[2025-01-29 14:30:36,487] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesInstanceUID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239, type \n", + "[2025-01-29 14:30:36,487] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesDate: 20090831, type \n", + "[2025-01-29 14:30:36,487] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesTime: 101721.452, type \n", + "[2025-01-29 14:30:36,487] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Modality: CT, type \n", + "[2025-01-29 14:30:36,487] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesDescription: ABD/PANC 3.0 B31f, type \n", + "[2025-01-29 14:30:36,487] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - PatientPosition: HFS, type \n", + "[2025-01-29 14:30:36,487] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesNumber: 8, type \n", + "[2025-01-29 14:30:36,487] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - row_pixel_spacing: 0.7890625, type \n", + "[2025-01-29 14:30:36,487] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - col_pixel_spacing: 0.7890625, type \n", + "[2025-01-29 14:30:36,487] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - depth_pixel_spacing: 1.5, type \n", + "[2025-01-29 14:30:36,487] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - row_direction_cosine: [1.0, 0.0, 0.0], type \n", + "[2025-01-29 14:30:36,488] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - col_direction_cosine: [0.0, 1.0, 0.0], type \n", + "[2025-01-29 14:30:36,488] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - depth_direction_cosine: [0.0, 0.0, 1.0], type \n", + "[2025-01-29 14:30:36,488] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - dicom_affine_transform: [[ 0.7890625 0. 0. -197.60547 ]\n", " [ 0. 0.7890625 0. -398.60547 ]\n", " [ 0. 0. 1.5 -383. ]\n", " [ 0. 0. 0. 1. ]], type \n", - "[2025-01-16 16:17:27,727] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - nifti_affine_transform: [[ -0.7890625 -0. -0. 197.60547 ]\n", + "[2025-01-29 14:30:36,488] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - nifti_affine_transform: [[ -0.7890625 -0. -0. 197.60547 ]\n", " [ -0. -0.7890625 -0. 398.60547 ]\n", " [ 0. 0. 1.5 -383. ]\n", " [ 0. 0. 0. 1. ]], type \n", - "[2025-01-16 16:17:27,727] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyInstanceUID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291, type \n", - "[2025-01-16 16:17:27,727] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyID: , type \n", - "[2025-01-16 16:17:27,727] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyDate: 20090831, type \n", - "[2025-01-16 16:17:27,727] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyTime: 095948.599, type \n", - "[2025-01-16 16:17:27,727] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyDescription: CT ABDOMEN W IV CONTRAST, type \n", - "[2025-01-16 16:17:27,727] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - AccessionNumber: 5471978513296937, type \n", - "[2025-01-16 16:17:27,727] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - selection_name: CT Series, type \n", - "2025-01-16 16:17:28,884 INFO image_writer.py:197 - writing: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output/saved_images_folder/1.3.6.1.4.1.14519.5.2.1.7085.2626/1.3.6.1.4.1.14519.5.2.1.7085.2626.nii\n", - "2025-01-16 16:17:34,343 INFO image_writer.py:197 - writing: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output/saved_images_folder/1.3.6.1.4.1.14519.5.2.1.7085.2626/1.3.6.1.4.1.14519.5.2.1.7085.2626_seg.nii\n", - "[2025-01-16 16:17:36,713] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Output Seg image numpy array shaped: (204, 512, 512)\n", - "[2025-01-16 16:17:36,745] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Output Seg image pixel max value: 1\n", + "[2025-01-29 14:30:36,488] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyInstanceUID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291, type \n", + "[2025-01-29 14:30:36,488] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyID: , type \n", + "[2025-01-29 14:30:36,488] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyDate: 20090831, type \n", + "[2025-01-29 14:30:36,488] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyTime: 095948.599, type \n", + "[2025-01-29 14:30:36,488] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyDescription: CT ABDOMEN W IV CONTRAST, type \n", + "[2025-01-29 14:30:36,488] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - AccessionNumber: 5471978513296937, type \n", + "[2025-01-29 14:30:36,488] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - selection_name: CT Series, type \n", + "2025-01-29 14:30:37,548 INFO image_writer.py:197 - writing: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output/saved_images_folder/1.3.6.1.4.1.14519.5.2.1.7085.2626/1.3.6.1.4.1.14519.5.2.1.7085.2626.nii\n", + "2025-01-29 14:30:41,063 INFO image_writer.py:197 - writing: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output/saved_images_folder/1.3.6.1.4.1.14519.5.2.1.7085.2626/1.3.6.1.4.1.14519.5.2.1.7085.2626_seg.nii\n", + "[2025-01-29 14:30:42,975] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Output Seg image numpy array shaped: (204, 512, 512)\n", + "[2025-01-29 14:30:42,981] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Output Seg image pixel max value: 1\n", "/home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages/highdicom/base.py:163: UserWarning: The string \"C3N-00198\" is unlikely to represent the intended person name since it contains only a single component. Construct a person name according to the format in described in https://dicom.nema.org/dicom/2013/output/chtml/part05/sect_6.2.html#sect_6.2.1.2, or, in pydicom 2.2.0 or later, use the pydicom.valuerep.PersonName.from_named_components() method to construct the person name correctly. If a single-component name is really intended, add a trailing caret character to disambiguate the name.\n", " check_person_name(patient_name)\n", - "[2025-01-16 16:17:38,989] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 16:17:38,989] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", - "[2025-01-16 16:17:38,989] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 16:17:38,989] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", - "[2025-01-16 16:17:38,990] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", - "[2025-01-16 16:17:38,990] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 16:17:38,990] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", - "[2025-01-16 16:17:38,990] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", - "[2025-01-16 16:17:38,991] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", + "[2025-01-29 14:30:44,652] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:30:44,652] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", + "[2025-01-29 14:30:44,652] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:30:44,652] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", + "[2025-01-29 14:30:44,652] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", + "[2025-01-29 14:30:44,653] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:30:44,653] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", + "[2025-01-29 14:30:44,653] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", + "[2025-01-29 14:30:44,653] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", "[\u001b[32minfo\u001b[m] [greedy_scheduler.cpp:372] Scheduler stopped: Some entities are waiting for execution, but there are no periodic or async entities to get out of the deadlock.\n", "[\u001b[32minfo\u001b[m] [greedy_scheduler.cpp:401] Scheduler finished.\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2213] Deactivating Graph...\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2221] Graph execution finished.\n", - "[2025-01-16 16:17:39,311] [INFO] (app.AISpleenSegApp) - End run\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:292] Destroying context\n" + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2243] Deactivating Graph...\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2251] Graph execution finished.\n", + "[2025-01-29 14:30:44,748] [INFO] (app.AISpleenSegApp) - End run\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:294] Destroying context\n" ] } ], @@ -1357,7 +1355,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -1365,7 +1363,7 @@ "output_type": "stream", "text": [ "output:\n", - "1.2.826.0.1.3680043.10.511.3.76053921177937350011362220581935219.dcm\n", + "1.2.826.0.1.3680043.10.511.3.51643712983429462828738370758191766.dcm\n", "saved_images_folder\n", "\n", "output/saved_images_folder:\n", @@ -1399,7 +1397,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -1429,7 +1427,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -1450,7 +1448,7 @@ "setuptools>=59.5.0 # for pkg_resources\n", "SimpleITK>=2.0.0\n", "torch>=1.12.0\n", - "holoscan==2.6.0 # avoid v2.7 and v2.8 for a known issue" + "holoscan>=2.9.0 # avoid v2.7 and v2.8 for a known issue" ] }, { @@ -1466,23 +1464,23 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[2025-01-16 16:17:47,580] [INFO] (common) - Downloading CLI manifest file...\n", - "[2025-01-16 16:17:47,837] [DEBUG] (common) - Validating CLI manifest file...\n", - "[2025-01-16 16:17:47,838] [INFO] (packager.parameters) - Application: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/my_app\n", - "[2025-01-16 16:17:47,838] [INFO] (packager.parameters) - Detected application type: Python Module\n", - "[2025-01-16 16:17:47,839] [INFO] (packager) - Scanning for models in /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models...\n", - "[2025-01-16 16:17:47,840] [DEBUG] (packager) - Model model=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models/model added.\n", - "[2025-01-16 16:17:47,840] [INFO] (packager) - Reading application configuration from /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/my_app/app.yaml...\n", - "[2025-01-16 16:17:47,845] [INFO] (packager) - Generating app.json...\n", - "[2025-01-16 16:17:47,845] [INFO] (packager) - Generating pkg.json...\n", - "[2025-01-16 16:17:47,850] [DEBUG] (common) - \n", + "[2025-01-29 14:30:47,335] [INFO] (common) - Downloading CLI manifest file...\n", + "[2025-01-29 14:30:47,539] [DEBUG] (common) - Validating CLI manifest file...\n", + "[2025-01-29 14:30:47,539] [INFO] (packager.parameters) - Application: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/my_app\n", + "[2025-01-29 14:30:47,540] [INFO] (packager.parameters) - Detected application type: Python Module\n", + "[2025-01-29 14:30:47,540] [INFO] (packager) - Scanning for models in /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models...\n", + "[2025-01-29 14:30:47,540] [DEBUG] (packager) - Model model=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models/model added.\n", + "[2025-01-29 14:30:47,540] [INFO] (packager) - Reading application configuration from /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/my_app/app.yaml...\n", + "[2025-01-29 14:30:47,544] [INFO] (packager) - Generating app.json...\n", + "[2025-01-29 14:30:47,544] [INFO] (packager) - Generating pkg.json...\n", + "[2025-01-29 14:30:47,549] [DEBUG] (common) - \n", "=============== Begin app.json ===============\n", "{\n", " \"apiVersion\": \"1.0.0\",\n", @@ -1517,7 +1515,7 @@ "}\n", "================ End app.json ================\n", " \n", - "[2025-01-16 16:17:47,851] [DEBUG] (common) - \n", + "[2025-01-29 14:30:47,550] [DEBUG] (common) - \n", "=============== Begin pkg.json ===============\n", "{\n", " \"apiVersion\": \"1.0.0\",\n", @@ -1537,7 +1535,7 @@ "}\n", "================ End pkg.json ================\n", " \n", - "[2025-01-16 16:17:47,941] [DEBUG] (packager.builder) - \n", + "[2025-01-29 14:30:47,581] [DEBUG] (packager.builder) - \n", "========== Begin Build Parameters ==========\n", "{'additional_lib_paths': '',\n", " 'app_config_file_path': PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/my_app/app.yaml'),\n", @@ -1555,7 +1553,7 @@ " 'full_input_path': PosixPath('/var/holoscan/input'),\n", " 'full_output_path': PosixPath('/var/holoscan/output'),\n", " 'gid': 1000,\n", - " 'holoscan_sdk_version': '2.8.0',\n", + " 'holoscan_sdk_version': '2.9.0',\n", " 'includes': [],\n", " 'input_dir': 'input/',\n", " 'lib_dir': PosixPath('/opt/holoscan/lib'),\n", @@ -1579,7 +1577,7 @@ " 'working_dir': PosixPath('/var/holoscan')}\n", "=========== End Build Parameters ===========\n", "\n", - "[2025-01-16 16:17:47,941] [DEBUG] (packager.builder) - \n", + "[2025-01-29 14:30:47,581] [DEBUG] (packager.builder) - \n", "========== Begin Platform Parameters ==========\n", "{'base_image': 'nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04',\n", " 'build_image': None,\n", @@ -1589,15 +1587,15 @@ " 'custom_monai_deploy_sdk': False,\n", " 'gpu_type': 'dgpu',\n", " 'holoscan_deb_arch': 'amd64',\n", - " 'holoscan_sdk_file': '2.8.0',\n", - " 'holoscan_sdk_filename': '2.8.0',\n", + " 'holoscan_sdk_file': '2.9.0',\n", + " 'holoscan_sdk_filename': '2.9.0',\n", " 'monai_deploy_sdk_file': None,\n", " 'monai_deploy_sdk_filename': None,\n", " 'tag': 'my_app:1.0',\n", " 'target_arch': 'x86_64'}\n", "=========== End Platform Parameters ===========\n", "\n", - "[2025-01-16 16:17:47,973] [DEBUG] (packager.builder) - \n", + "[2025-01-29 14:30:47,602] [DEBUG] (packager.builder) - \n", "========== Begin Dockerfile ==========\n", "\n", "ARG GPU_TYPE=dgpu\n", @@ -1661,7 +1659,7 @@ "LABEL tag=\"my_app:1.0\"\n", "LABEL org.opencontainers.image.title=\"MONAI Deploy App Package - MONAI Bundle AI App\"\n", "LABEL org.opencontainers.image.version=\"1.0\"\n", - "LABEL org.nvidia.holoscan=\"2.8.0\"\n", + "LABEL org.nvidia.holoscan=\"2.9.0\"\n", "\n", "LABEL org.monai.deploy.app-sdk=\"2.0.0\"\n", "\n", @@ -1676,7 +1674,7 @@ "ENV HOLOSCAN_APP_MANIFEST_PATH=/etc/holoscan/app.json\n", "ENV HOLOSCAN_PKG_MANIFEST_PATH=/etc/holoscan/pkg.json\n", "ENV HOLOSCAN_LOGS_PATH=/var/holoscan/logs\n", - "ENV HOLOSCAN_VERSION=2.8.0\n", + "ENV HOLOSCAN_VERSION=2.9.0\n", "\n", "\n", "\n", @@ -1751,7 +1749,7 @@ "ENTRYPOINT [\"/var/holoscan/tools\"]\n", "=========== End Dockerfile ===========\n", "\n", - "[2025-01-16 16:17:47,973] [INFO] (packager.builder) - \n", + "[2025-01-29 14:30:47,602] [INFO] (packager.builder) - \n", "===============================================================================\n", "Building image for: x64-workstation\n", " Architecture: linux/amd64\n", @@ -1759,33 +1757,30 @@ " Build Image: N/A\n", " Cache: Enabled\n", " Configuration: dgpu\n", - " Holoscan SDK Package: 2.8.0\n", + " Holoscan SDK Package: 2.9.0\n", " MONAI Deploy App SDK Package: N/A\n", " gRPC Health Probe: N/A\n", - " SDK Version: 2.8.0\n", + " SDK Version: 2.9.0\n", " SDK: monai-deploy\n", " Tag: my_app-x64-workstation-dgpu-linux-amd64:1.0\n", " Included features/dependencies: N/A\n", " \n", - "[2025-01-16 16:17:49,299] [INFO] (common) - Using existing Docker BuildKit builder `holoscan_app_builder`\n", - "[2025-01-16 16:17:49,299] [DEBUG] (packager.builder) - Building Holoscan Application Package: tag=my_app-x64-workstation-dgpu-linux-amd64:1.0\n", + "[2025-01-29 14:30:48,162] [INFO] (common) - Using existing Docker BuildKit builder `holoscan_app_builder`\n", + "[2025-01-29 14:30:48,163] [DEBUG] (packager.builder) - Building Holoscan Application Package: tag=my_app-x64-workstation-dgpu-linux-amd64:1.0\n", "#0 building with \"holoscan_app_builder\" instance using docker-container driver\n", "\n", "#1 [internal] load build definition from Dockerfile\n", "#1 transferring dockerfile: 4.56kB done\n", "#1 DONE 0.1s\n", "\n", - "#2 [internal] load metadata for nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", - "#2 ...\n", + "#2 [auth] nvidia/cuda:pull token for nvcr.io\n", + "#2 DONE 0.0s\n", "\n", - "#3 [auth] nvidia/cuda:pull token for nvcr.io\n", - "#3 DONE 0.0s\n", - "\n", - "#2 [internal] load metadata for nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", - "#2 DONE 0.5s\n", + "#3 [internal] load metadata for nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", + "#3 DONE 0.5s\n", "\n", "#4 [internal] load .dockerignore\n", - "#4 transferring context: 1.79kB done\n", + "#4 transferring context: 1.80kB done\n", "#4 DONE 0.1s\n", "\n", "#5 importing cache manifest from nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", @@ -1794,312 +1789,291 @@ "#6 [internal] load build context\n", "#6 DONE 0.0s\n", "\n", - "#7 importing cache manifest from local:10138938764133549295\n", + "#7 importing cache manifest from local:9689312761338090214\n", "#7 inferred cache manifest type: application/vnd.oci.image.index.v1+json done\n", "#7 DONE 0.0s\n", "\n", + "#8 [base 1/2] FROM nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04@sha256:22fc009e5cea0b8b91d94c99fdd419d2366810b5ea835e47b8343bc15800c186\n", + "#8 resolve nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04@sha256:22fc009e5cea0b8b91d94c99fdd419d2366810b5ea835e47b8343bc15800c186 0.0s done\n", + "#8 DONE 0.0s\n", + "\n", "#5 importing cache manifest from nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", "#5 inferred cache manifest type: application/vnd.docker.distribution.manifest.list.v2+json done\n", - "#5 DONE 0.7s\n", - "\n", - "#8 [base 1/2] FROM nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04@sha256:22fc009e5cea0b8b91d94c99fdd419d2366810b5ea835e47b8343bc15800c186\n", - "#8 resolve nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04@sha256:22fc009e5cea0b8b91d94c99fdd419d2366810b5ea835e47b8343bc15800c186 0.1s done\n", - "#8 DONE 0.1s\n", + "#5 DONE 0.4s\n", "\n", "#6 [internal] load build context\n", "#6 transferring context: 19.43MB 0.2s done\n", - "#6 DONE 0.2s\n", + "#6 DONE 0.3s\n", "\n", - "#9 [release 2/18] RUN apt update && apt-get install -y --no-install-recommends --no-install-suggests python3-minimal=3.10.6-1~22.04 libpython3-stdlib=3.10.6-1~22.04 python3=3.10.6-1~22.04 python3-venv=3.10.6-1~22.04 python3-pip=22.0.2+dfsg-* && rm -rf /var/lib/apt/lists/*\n", + "#9 [release 5/18] RUN chown -R holoscan /var/holoscan && chown -R holoscan /var/holoscan/input && chown -R holoscan /var/holoscan/output\n", "#9 CACHED\n", "\n", - "#10 [release 6/18] WORKDIR /var/holoscan\n", + "#10 [release 1/18] RUN mkdir -p /etc/holoscan/ && mkdir -p /opt/holoscan/ && mkdir -p /var/holoscan && mkdir -p /opt/holoscan/app && mkdir -p /var/holoscan/input && mkdir -p /var/holoscan/output\n", "#10 CACHED\n", "\n", - "#11 [release 1/18] RUN mkdir -p /etc/holoscan/ && mkdir -p /opt/holoscan/ && mkdir -p /var/holoscan && mkdir -p /opt/holoscan/app && mkdir -p /var/holoscan/input && mkdir -p /var/holoscan/output\n", + "#11 [base 2/2] RUN apt-get update && apt-get install -y --no-install-recommends --no-install-suggests curl jq && rm -rf /var/lib/apt/lists/*\n", "#11 CACHED\n", "\n", - "#12 [release 5/18] RUN chown -R holoscan /var/holoscan && chown -R holoscan /var/holoscan/input && chown -R holoscan /var/holoscan/output\n", + "#12 [release 3/18] RUN groupadd -f -g 1000 holoscan\n", "#12 CACHED\n", "\n", - "#13 [release 4/18] RUN useradd -rm -d /home/holoscan -s /bin/bash -g 1000 -G sudo -u 1000 holoscan\n", + "#13 [release 6/18] WORKDIR /var/holoscan\n", "#13 CACHED\n", "\n", - "#14 [release 8/18] RUN chmod +x /var/holoscan/tools\n", + "#14 [release 4/18] RUN useradd -rm -d /home/holoscan -s /bin/bash -g 1000 -G sudo -u 1000 holoscan\n", "#14 CACHED\n", "\n", - "#15 [base 2/2] RUN apt-get update && apt-get install -y --no-install-recommends --no-install-suggests curl jq && rm -rf /var/lib/apt/lists/*\n", + "#15 [release 7/18] COPY ./tools /var/holoscan/tools\n", "#15 CACHED\n", "\n", - "#16 [release 3/18] RUN groupadd -f -g 1000 holoscan\n", + "#16 [release 8/18] RUN chmod +x /var/holoscan/tools\n", "#16 CACHED\n", "\n", - "#17 [release 7/18] COPY ./tools /var/holoscan/tools\n", + "#17 [release 2/18] RUN apt update && apt-get install -y --no-install-recommends --no-install-suggests python3-minimal=3.10.6-1~22.04 libpython3-stdlib=3.10.6-1~22.04 python3=3.10.6-1~22.04 python3-venv=3.10.6-1~22.04 python3-pip=22.0.2+dfsg-* && rm -rf /var/lib/apt/lists/*\n", "#17 CACHED\n", "\n", "#18 [release 9/18] WORKDIR /var/holoscan\n", "#18 CACHED\n", "\n", "#19 [release 10/18] COPY ./pip/requirements.txt /tmp/requirements.txt\n", - "#19 DONE 0.1s\n", + "#19 DONE 0.8s\n", "\n", "#20 [release 11/18] RUN pip install --upgrade pip\n", - "#20 1.023 Defaulting to user installation because normal site-packages is not writeable\n", - "#20 1.060 Requirement already satisfied: pip in /usr/lib/python3/dist-packages (22.0.2)\n", - "#20 1.248 Collecting pip\n", - "#20 1.301 Downloading pip-24.3.1-py3-none-any.whl (1.8 MB)\n", - "#20 1.370 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 29.6 MB/s eta 0:00:00\n", - "#20 1.411 Installing collected packages: pip\n", - "#20 2.169 Successfully installed pip-24.3.1\n", - "#20 DONE 2.4s\n", + "#20 0.933 Defaulting to user installation because normal site-packages is not writeable\n", + "#20 0.985 Requirement already satisfied: pip in /usr/lib/python3/dist-packages (22.0.2)\n", + "#20 1.141 Collecting pip\n", + "#20 1.201 Downloading pip-25.0-py3-none-any.whl (1.8 MB)\n", + "#20 1.272 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 27.4 MB/s eta 0:00:00\n", + "#20 1.298 Installing collected packages: pip\n", + "#20 2.043 Successfully installed pip-25.0\n", + "#20 DONE 2.2s\n", "\n", "#21 [release 12/18] RUN pip install --no-cache-dir --user -r /tmp/requirements.txt\n", - "#21 0.715 Collecting highdicom>=0.18.2 (from -r /tmp/requirements.txt (line 1))\n", - "#21 0.731 Downloading highdicom-0.23.1-py3-none-any.whl.metadata (4.6 kB)\n", - "#21 0.829 Collecting monai>=1.0 (from -r /tmp/requirements.txt (line 2))\n", - "#21 0.976 Downloading monai-1.4.0-py3-none-any.whl.metadata (11 kB)\n", - "#21 1.214 Collecting nibabel>=3.2.1 (from -r /tmp/requirements.txt (line 3))\n", - "#21 1.219 Downloading nibabel-5.3.2-py3-none-any.whl.metadata (9.1 kB)\n", - "#21 1.416 Collecting numpy>=1.21.6 (from -r /tmp/requirements.txt (line 4))\n", - "#21 1.420 Downloading numpy-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (62 kB)\n", - "#21 1.438 Collecting pydicom>=2.3.0 (from -r /tmp/requirements.txt (line 5))\n", - "#21 1.443 Downloading pydicom-3.0.1-py3-none-any.whl.metadata (9.4 kB)\n", - "#21 1.449 Requirement already satisfied: setuptools>=59.5.0 in /usr/lib/python3/dist-packages (from -r /tmp/requirements.txt (line 6)) (59.6.0)\n", - "#21 1.480 Collecting SimpleITK>=2.0.0 (from -r /tmp/requirements.txt (line 7))\n", - "#21 1.484 Downloading SimpleITK-2.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (7.9 kB)\n", - "#21 1.545 Collecting torch>=1.12.0 (from -r /tmp/requirements.txt (line 8))\n", - "#21 1.549 Downloading torch-2.5.1-cp310-cp310-manylinux1_x86_64.whl.metadata (28 kB)\n", - "#21 1.644 Collecting holoscan==2.6.0 (from -r /tmp/requirements.txt (line 9))\n", - "#21 1.650 Downloading holoscan-2.6.0-cp310-cp310-manylinux_2_35_x86_64.whl.metadata (7.2 kB)\n", - "#21 1.655 Requirement already satisfied: pip>22.0.2 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan==2.6.0->-r /tmp/requirements.txt (line 9)) (24.3.1)\n", - "#21 1.669 Collecting cupy-cuda12x==12.2 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 1.673 Downloading cupy_cuda12x-12.2.0-cp310-cp310-manylinux2014_x86_64.whl.metadata (2.6 kB)\n", - "#21 1.688 Collecting cloudpickle==2.2.1 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 1.694 Downloading cloudpickle-2.2.1-py3-none-any.whl.metadata (6.9 kB)\n", - "#21 1.746 Collecting python-on-whales==0.60.1 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 1.750 Downloading python_on_whales-0.60.1-py3-none-any.whl.metadata (16 kB)\n", - "#21 1.767 Collecting Jinja2==3.1.3 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 1.771 Downloading Jinja2-3.1.3-py3-none-any.whl.metadata (3.3 kB)\n", - "#21 1.865 Collecting packaging==23.1 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 1.869 Downloading packaging-23.1-py3-none-any.whl.metadata (3.1 kB)\n", - "#21 1.905 Collecting pyyaml==6.0 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 1.909 Downloading PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.metadata (2.0 kB)\n", - "#21 1.942 Collecting requests==2.31.0 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 1.945 Downloading requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)\n", - "#21 2.029 Collecting psutil==6.0.0 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 2.035 Downloading psutil-6.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (21 kB)\n", - "#21 2.119 Collecting wheel-axle-runtime<1.0 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 2.125 Downloading wheel_axle_runtime-0.0.6-py3-none-any.whl.metadata (8.1 kB)\n", - "#21 2.142 Collecting numpy>=1.21.6 (from -r /tmp/requirements.txt (line 4))\n", - "#21 2.146 Downloading numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)\n", - "#21 2.221 Collecting fastrlock>=0.5 (from cupy-cuda12x==12.2->holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 2.226 Downloading fastrlock-0.8.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl.metadata (7.7 kB)\n", - "#21 2.287 Collecting MarkupSafe>=2.0 (from Jinja2==3.1.3->holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 2.290 Downloading MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)\n", - "#21 2.428 Collecting pydantic<2,>=1.5 (from python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 2.434 Downloading pydantic-1.10.21-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (153 kB)\n", - "#21 2.491 Collecting tqdm (from python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 2.494 Downloading tqdm-4.67.1-py3-none-any.whl.metadata (57 kB)\n", - "#21 2.515 Collecting typer>=0.4.1 (from python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 2.519 Downloading typer-0.15.1-py3-none-any.whl.metadata (15 kB)\n", - "#21 2.535 Collecting typing-extensions (from python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 2.538 Downloading typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)\n", - "#21 2.639 Collecting charset-normalizer<4,>=2 (from requests==2.31.0->holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 2.643 Downloading charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB)\n", - "#21 2.656 Collecting idna<4,>=2.5 (from requests==2.31.0->holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 2.659 Downloading idna-3.10-py3-none-any.whl.metadata (10 kB)\n", - "#21 2.714 Collecting urllib3<3,>=1.21.1 (from requests==2.31.0->holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 2.718 Downloading urllib3-2.3.0-py3-none-any.whl.metadata (6.5 kB)\n", - "#21 2.738 Collecting certifi>=2017.4.17 (from requests==2.31.0->holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 2.742 Downloading certifi-2024.12.14-py3-none-any.whl.metadata (2.3 kB)\n", - "#21 2.994 Collecting pillow>=8.3 (from highdicom>=0.18.2->-r /tmp/requirements.txt (line 1))\n", - "#21 2.997 Downloading pillow-11.1.0-cp310-cp310-manylinux_2_28_x86_64.whl.metadata (9.1 kB)\n", - "#21 3.103 Collecting pyjpegls>=1.0.0 (from highdicom>=0.18.2->-r /tmp/requirements.txt (line 1))\n", - "#21 3.109 Downloading pyjpegls-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.5 kB)\n", - "#21 3.161 Collecting importlib-resources>=5.12 (from nibabel>=3.2.1->-r /tmp/requirements.txt (line 3))\n", - "#21 3.165 Downloading importlib_resources-6.5.2-py3-none-any.whl.metadata (3.9 kB)\n", - "#21 3.220 Collecting filelock (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", - "#21 3.224 Downloading filelock-3.16.1-py3-none-any.whl.metadata (2.9 kB)\n", - "#21 3.263 Collecting networkx (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", - "#21 3.266 Downloading networkx-3.4.2-py3-none-any.whl.metadata (6.3 kB)\n", - "#21 3.299 Collecting fsspec (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", - "#21 3.304 Downloading fsspec-2024.12.0-py3-none-any.whl.metadata (11 kB)\n", - "#21 3.357 Collecting nvidia-cuda-nvrtc-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", - "#21 3.360 Downloading nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "#21 3.372 Collecting nvidia-cuda-runtime-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", - "#21 3.376 Downloading nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "#21 3.387 Collecting nvidia-cuda-cupti-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", - "#21 3.391 Downloading nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", - "#21 3.402 Collecting nvidia-cudnn-cu12==9.1.0.70 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", - "#21 3.406 Downloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", - "#21 3.420 Collecting nvidia-cublas-cu12==12.4.5.8 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", - "#21 3.423 Downloading nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "#21 3.435 Collecting nvidia-cufft-cu12==11.2.1.3 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", - "#21 3.439 Downloading nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "#21 3.450 Collecting nvidia-curand-cu12==10.3.5.147 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", - "#21 3.454 Downloading nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "#21 3.464 Collecting nvidia-cusolver-cu12==11.6.1.9 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", - "#21 3.468 Downloading nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", - "#21 3.479 Collecting nvidia-cusparse-cu12==12.3.1.170 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", - "#21 3.483 Downloading nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", - "#21 3.494 Collecting nvidia-nccl-cu12==2.21.5 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", - "#21 3.502 Downloading nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl.metadata (1.8 kB)\n", - "#21 3.519 Collecting nvidia-nvtx-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", - "#21 3.523 Downloading nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.7 kB)\n", - "#21 3.541 Collecting nvidia-nvjitlink-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", - "#21 3.548 Downloading nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "#21 3.562 Collecting triton==3.1.0 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", - "#21 3.565 Downloading triton-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.3 kB)\n", - "#21 3.588 Collecting sympy==1.13.1 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", - "#21 3.592 Downloading sympy-1.13.1-py3-none-any.whl.metadata (12 kB)\n", - "#21 3.622 Collecting mpmath<1.4,>=1.1.0 (from sympy==1.13.1->torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", - "#21 3.625 Downloading mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)\n", - "#21 3.639 INFO: pip is looking at multiple versions of pyjpegls to determine which version is compatible with other requirements. This could take a while.\n", - "#21 3.640 Collecting pyjpegls>=1.0.0 (from highdicom>=0.18.2->-r /tmp/requirements.txt (line 1))\n", - "#21 3.647 Downloading pyjpegls-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.5 kB)\n", - "#21 3.657 Downloading pyjpegls-1.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.5 kB)\n", - "#21 3.707 Collecting click>=8.0.0 (from typer>=0.4.1->python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 3.711 Downloading click-8.1.8-py3-none-any.whl.metadata (2.3 kB)\n", - "#21 3.732 Collecting shellingham>=1.3.0 (from typer>=0.4.1->python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 3.735 Downloading shellingham-1.5.4-py2.py3-none-any.whl.metadata (3.5 kB)\n", - "#21 3.793 Collecting rich>=10.11.0 (from typer>=0.4.1->python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 3.796 Downloading rich-13.9.4-py3-none-any.whl.metadata (18 kB)\n", - "#21 3.823 Collecting markdown-it-py>=2.2.0 (from rich>=10.11.0->typer>=0.4.1->python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 3.827 Downloading markdown_it_py-3.0.0-py3-none-any.whl.metadata (6.9 kB)\n", - "#21 3.852 Collecting pygments<3.0.0,>=2.13.0 (from rich>=10.11.0->typer>=0.4.1->python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 3.855 Downloading pygments-2.19.1-py3-none-any.whl.metadata (2.5 kB)\n", - "#21 3.877 Collecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich>=10.11.0->typer>=0.4.1->python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 9))\n", - "#21 3.884 Downloading mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)\n", - "#21 3.900 Downloading holoscan-2.6.0-cp310-cp310-manylinux_2_35_x86_64.whl (40.8 MB)\n", - "#21 4.267 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 40.8/40.8 MB 113.8 MB/s eta 0:00:00\n", - "#21 4.276 Downloading cloudpickle-2.2.1-py3-none-any.whl (25 kB)\n", - "#21 4.286 Downloading cupy_cuda12x-12.2.0-cp310-cp310-manylinux2014_x86_64.whl (82.0 MB)\n", - "#21 5.333 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 82.0/82.0 MB 78.6 MB/s eta 0:00:00\n", - "#21 5.339 Downloading Jinja2-3.1.3-py3-none-any.whl (133 kB)\n", - "#21 5.345 Downloading packaging-23.1-py3-none-any.whl (48 kB)\n", - "#21 5.354 Downloading psutil-6.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (290 kB)\n", - "#21 5.364 Downloading python_on_whales-0.60.1-py3-none-any.whl (103 kB)\n", - "#21 5.375 Downloading PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (682 kB)\n", - "#21 5.385 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 682.2/682.2 kB 150.6 MB/s eta 0:00:00\n", - "#21 5.393 Downloading requests-2.31.0-py3-none-any.whl (62 kB)\n", - "#21 5.402 Downloading highdicom-0.23.1-py3-none-any.whl (836 kB)\n", - "#21 5.417 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 836.4/836.4 kB 83.3 MB/s eta 0:00:00\n", - "#21 5.429 Downloading monai-1.4.0-py3-none-any.whl (1.5 MB)\n", - "#21 5.446 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 129.0 MB/s eta 0:00:00\n", - "#21 5.452 Downloading nibabel-5.3.2-py3-none-any.whl (3.3 MB)\n", - "#21 5.484 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 115.8 MB/s eta 0:00:00\n", - "#21 5.490 Downloading numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.2 MB)\n", - "#21 5.661 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.2/18.2 MB 112.0 MB/s eta 0:00:00\n", - "#21 5.670 Downloading pydicom-3.0.1-py3-none-any.whl (2.4 MB)\n", - "#21 5.695 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.4/2.4 MB 115.4 MB/s eta 0:00:00\n", - "#21 5.706 Downloading SimpleITK-2.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (52.4 MB)\n", - "#21 6.255 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 52.4/52.4 MB 96.5 MB/s eta 0:00:00\n", - "#21 6.264 Downloading torch-2.5.1-cp310-cp310-manylinux1_x86_64.whl (906.4 MB)\n", - "#21 15.26 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 906.4/906.4 MB 92.4 MB/s eta 0:00:00\n", - "#21 15.27 Downloading nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl (363.4 MB)\n", - "#21 18.88 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 363.4/363.4 MB 98.5 MB/s eta 0:00:00\n", - "#21 18.89 Downloading nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (13.8 MB)\n", - "#21 19.01 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.8/13.8 MB 117.4 MB/s eta 0:00:00\n", - "#21 19.02 Downloading nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (24.6 MB)\n", - "#21 19.24 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.6/24.6 MB 117.5 MB/s eta 0:00:00\n", - "#21 19.25 Downloading nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (883 kB)\n", - "#21 19.26 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 883.7/883.7 kB 163.1 MB/s eta 0:00:00\n", - "#21 19.27 Downloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)\n", - "#21 25.25 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 664.8/664.8 MB 107.5 MB/s eta 0:00:00\n", - "#21 25.26 Downloading nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl (211.5 MB)\n", - "#21 27.28 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 211.5/211.5 MB 104.9 MB/s eta 0:00:00\n", - "#21 27.29 Downloading nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl (56.3 MB)\n", - "#21 27.82 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.3/56.3 MB 106.6 MB/s eta 0:00:00\n", - "#21 27.83 Downloading nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl (127.9 MB)\n", - "#21 29.01 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 127.9/127.9 MB 108.3 MB/s eta 0:00:00\n", - "#21 29.03 Downloading nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl (207.5 MB)\n", - "#21 31.22 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 207.5/207.5 MB 94.7 MB/s eta 0:00:00\n", - "#21 31.23 Downloading nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl (188.7 MB)\n", - "#21 32.88 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 188.7/188.7 MB 114.7 MB/s eta 0:00:00\n", - "#21 32.89 Downloading nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (21.1 MB)\n", - "#21 33.23 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 21.1/21.1 MB 62.8 MB/s eta 0:00:00\n", - "#21 33.23 Downloading nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (99 kB)\n", - "#21 33.24 Downloading sympy-1.13.1-py3-none-any.whl (6.2 MB)\n", - "#21 33.30 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.2/6.2 MB 117.8 MB/s eta 0:00:00\n", - "#21 33.31 Downloading triton-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (209.5 MB)\n", - "#21 35.63 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 209.5/209.5 MB 90.1 MB/s eta 0:00:00\n", - "#21 35.64 Downloading importlib_resources-6.5.2-py3-none-any.whl (37 kB)\n", - "#21 35.65 Downloading pillow-11.1.0-cp310-cp310-manylinux_2_28_x86_64.whl (4.5 MB)\n", - "#21 35.69 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.5/4.5 MB 115.5 MB/s eta 0:00:00\n", - "#21 35.70 Downloading pyjpegls-1.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB)\n", - "#21 35.73 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.7/2.7 MB 121.6 MB/s eta 0:00:00\n", - "#21 35.74 Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)\n", - "#21 35.75 Downloading wheel_axle_runtime-0.0.6-py3-none-any.whl (14 kB)\n", - "#21 35.75 Downloading filelock-3.16.1-py3-none-any.whl (16 kB)\n", - "#21 35.76 Downloading fsspec-2024.12.0-py3-none-any.whl (183 kB)\n", - "#21 35.76 Downloading networkx-3.4.2-py3-none-any.whl (1.7 MB)\n", - "#21 35.78 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 119.1 MB/s eta 0:00:00\n", - "#21 35.78 Downloading certifi-2024.12.14-py3-none-any.whl (164 kB)\n", - "#21 35.79 Downloading charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (146 kB)\n", - "#21 35.80 Downloading fastrlock-0.8.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl (53 kB)\n", - "#21 35.81 Downloading idna-3.10-py3-none-any.whl (70 kB)\n", - "#21 35.82 Downloading MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20 kB)\n", - "#21 35.83 Downloading mpmath-1.3.0-py3-none-any.whl (536 kB)\n", - "#21 35.83 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 536.2/536.2 kB 156.4 MB/s eta 0:00:00\n", - "#21 35.84 Downloading pydantic-1.10.21-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB)\n", - "#21 35.88 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 116.8 MB/s eta 0:00:00\n", - "#21 35.88 Downloading typer-0.15.1-py3-none-any.whl (44 kB)\n", - "#21 35.89 Downloading urllib3-2.3.0-py3-none-any.whl (128 kB)\n", - "#21 35.90 Downloading tqdm-4.67.1-py3-none-any.whl (78 kB)\n", - "#21 35.90 Downloading click-8.1.8-py3-none-any.whl (98 kB)\n", - "#21 35.91 Downloading rich-13.9.4-py3-none-any.whl (242 kB)\n", - "#21 35.92 Downloading shellingham-1.5.4-py2.py3-none-any.whl (9.8 kB)\n", - "#21 35.93 Downloading markdown_it_py-3.0.0-py3-none-any.whl (87 kB)\n", - "#21 35.94 Downloading pygments-2.19.1-py3-none-any.whl (1.2 MB)\n", - "#21 35.95 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 134.3 MB/s eta 0:00:00\n", - "#21 35.96 Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)\n", - "#21 49.55 Installing collected packages: SimpleITK, mpmath, fastrlock, urllib3, typing-extensions, tqdm, sympy, shellingham, pyyaml, pygments, pydicom, psutil, pillow, packaging, nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, numpy, networkx, mdurl, MarkupSafe, importlib-resources, idna, fsspec, filelock, cloudpickle, click, charset-normalizer, certifi, wheel-axle-runtime, triton, requests, pyjpegls, pydantic, nvidia-cusparse-cu12, nvidia-cudnn-cu12, nibabel, markdown-it-py, Jinja2, cupy-cuda12x, rich, nvidia-cusolver-cu12, highdicom, typer, torch, python-on-whales, monai, holoscan\n", - "#21 124.1 Successfully installed Jinja2-3.1.3 MarkupSafe-3.0.2 SimpleITK-2.4.1 certifi-2024.12.14 charset-normalizer-3.4.1 click-8.1.8 cloudpickle-2.2.1 cupy-cuda12x-12.2.0 fastrlock-0.8.3 filelock-3.16.1 fsspec-2024.12.0 highdicom-0.23.1 holoscan-2.6.0 idna-3.10 importlib-resources-6.5.2 markdown-it-py-3.0.0 mdurl-0.1.2 monai-1.4.0 mpmath-1.3.0 networkx-3.4.2 nibabel-5.3.2 numpy-1.26.4 nvidia-cublas-cu12-12.4.5.8 nvidia-cuda-cupti-cu12-12.4.127 nvidia-cuda-nvrtc-cu12-12.4.127 nvidia-cuda-runtime-cu12-12.4.127 nvidia-cudnn-cu12-9.1.0.70 nvidia-cufft-cu12-11.2.1.3 nvidia-curand-cu12-10.3.5.147 nvidia-cusolver-cu12-11.6.1.9 nvidia-cusparse-cu12-12.3.1.170 nvidia-nccl-cu12-2.21.5 nvidia-nvjitlink-cu12-12.4.127 nvidia-nvtx-cu12-12.4.127 packaging-23.1 pillow-11.1.0 psutil-6.0.0 pydantic-1.10.21 pydicom-3.0.1 pygments-2.19.1 pyjpegls-1.4.0 python-on-whales-0.60.1 pyyaml-6.0 requests-2.31.0 rich-13.9.4 shellingham-1.5.4 sympy-1.13.1 torch-2.5.1 tqdm-4.67.1 triton-3.1.0 typer-0.15.1 typing-extensions-4.12.2 urllib3-2.3.0 wheel-axle-runtime-0.0.6\n", - "#21 DONE 125.4s\n", + "#21 0.735 Collecting highdicom>=0.18.2 (from -r /tmp/requirements.txt (line 1))\n", + "#21 0.749 Downloading highdicom-0.24.0-py3-none-any.whl.metadata (4.7 kB)\n", + "#21 0.838 Collecting monai>=1.0 (from -r /tmp/requirements.txt (line 2))\n", + "#21 0.844 Downloading monai-1.4.0-py3-none-any.whl.metadata (11 kB)\n", + "#21 0.927 Collecting nibabel>=3.2.1 (from -r /tmp/requirements.txt (line 3))\n", + "#21 0.932 Downloading nibabel-5.3.2-py3-none-any.whl.metadata (9.1 kB)\n", + "#21 1.065 Collecting numpy>=1.21.6 (from -r /tmp/requirements.txt (line 4))\n", + "#21 1.069 Downloading numpy-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (62 kB)\n", + "#21 1.101 Collecting pydicom>=2.3.0 (from -r /tmp/requirements.txt (line 5))\n", + "#21 1.106 Downloading pydicom-3.0.1-py3-none-any.whl.metadata (9.4 kB)\n", + "#21 1.114 Requirement already satisfied: setuptools>=59.5.0 in /usr/lib/python3/dist-packages (from -r /tmp/requirements.txt (line 6)) (59.6.0)\n", + "#21 1.144 Collecting SimpleITK>=2.0.0 (from -r /tmp/requirements.txt (line 7))\n", + "#21 1.148 Downloading SimpleITK-2.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (7.9 kB)\n", + "#21 1.180 Collecting torch>=1.12.0 (from -r /tmp/requirements.txt (line 8))\n", + "#21 1.184 Downloading torch-2.6.0-cp310-cp310-manylinux1_x86_64.whl.metadata (28 kB)\n", + "#21 1.204 Collecting holoscan>=2.9.0 (from -r /tmp/requirements.txt (line 9))\n", + "#21 1.209 Downloading holoscan-2.9.0-cp310-cp310-manylinux_2_35_x86_64.whl.metadata (7.3 kB)\n", + "#21 1.369 Collecting pillow>=8.3 (from highdicom>=0.18.2->-r /tmp/requirements.txt (line 1))\n", + "#21 1.374 Downloading pillow-11.1.0-cp310-cp310-manylinux_2_28_x86_64.whl.metadata (9.1 kB)\n", + "#21 1.475 Collecting pyjpegls>=1.0.0 (from highdicom>=0.18.2->-r /tmp/requirements.txt (line 1))\n", + "#21 1.481 Downloading pyjpegls-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.5 kB)\n", + "#21 1.498 Collecting typing-extensions>=4.0.0 (from highdicom>=0.18.2->-r /tmp/requirements.txt (line 1))\n", + "#21 1.502 Downloading typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)\n", + "#21 1.513 Collecting numpy>=1.21.6 (from -r /tmp/requirements.txt (line 4))\n", + "#21 1.518 Downloading numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)\n", + "#21 1.543 Collecting importlib-resources>=5.12 (from nibabel>=3.2.1->-r /tmp/requirements.txt (line 3))\n", + "#21 1.547 Downloading importlib_resources-6.5.2-py3-none-any.whl.metadata (3.9 kB)\n", + "#21 1.671 Collecting packaging>=20 (from nibabel>=3.2.1->-r /tmp/requirements.txt (line 3))\n", + "#21 1.674 Downloading packaging-24.2-py3-none-any.whl.metadata (3.2 kB)\n", + "#21 1.707 Collecting filelock (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 1.712 Downloading filelock-3.17.0-py3-none-any.whl.metadata (2.9 kB)\n", + "#21 1.758 Collecting networkx (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 1.763 Downloading networkx-3.4.2-py3-none-any.whl.metadata (6.3 kB)\n", + "#21 1.792 Collecting jinja2 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 1.797 Downloading jinja2-3.1.5-py3-none-any.whl.metadata (2.6 kB)\n", + "#21 1.824 Collecting fsspec (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 1.828 Downloading fsspec-2024.12.0-py3-none-any.whl.metadata (11 kB)\n", + "#21 1.905 Collecting nvidia-cuda-nvrtc-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 1.910 Downloading nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 1.923 Collecting nvidia-cuda-runtime-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 1.927 Downloading nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 1.943 Collecting nvidia-cuda-cupti-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 1.948 Downloading nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", + "#21 1.963 Collecting nvidia-cudnn-cu12==9.1.0.70 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 1.968 Downloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", + "#21 1.981 Collecting nvidia-cublas-cu12==12.4.5.8 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 1.985 Downloading nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 1.998 Collecting nvidia-cufft-cu12==11.2.1.3 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.003 Downloading nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 2.015 Collecting nvidia-curand-cu12==10.3.5.147 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.020 Downloading nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 2.032 Collecting nvidia-cusolver-cu12==11.6.1.9 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.036 Downloading nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", + "#21 2.050 Collecting nvidia-cusparse-cu12==12.3.1.170 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.055 Downloading nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", + "#21 2.068 Collecting nvidia-cusparselt-cu12==0.6.2 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.074 Downloading nvidia_cusparselt_cu12-0.6.2-py3-none-manylinux2014_x86_64.whl.metadata (6.8 kB)\n", + "#21 2.085 Collecting nvidia-nccl-cu12==2.21.5 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.090 Downloading nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl.metadata (1.8 kB)\n", + "#21 2.103 Collecting nvidia-nvtx-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.107 Downloading nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.7 kB)\n", + "#21 2.119 Collecting nvidia-nvjitlink-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.123 Downloading nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 2.141 Collecting triton==3.2.0 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.147 Downloading triton-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.4 kB)\n", + "#21 2.169 Collecting sympy==1.13.1 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.174 Downloading sympy-1.13.1-py3-none-any.whl.metadata (12 kB)\n", + "#21 2.211 Collecting mpmath<1.4,>=1.1.0 (from sympy==1.13.1->torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.215 Downloading mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)\n", + "#21 2.224 Requirement already satisfied: pip>22.0.2 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 9)) (25.0)\n", + "#21 2.240 Collecting cupy-cuda12x<14.0,>=12.2 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 2.246 Downloading cupy_cuda12x-13.3.0-cp310-cp310-manylinux2014_x86_64.whl.metadata (2.7 kB)\n", + "#21 2.284 Collecting cloudpickle<4.0,>=3.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 2.288 Downloading cloudpickle-3.1.1-py3-none-any.whl.metadata (7.1 kB)\n", + "#21 2.314 Collecting python-on-whales<1.0,>=0.60.1 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 2.320 Downloading python_on_whales-0.75.1-py3-none-any.whl.metadata (18 kB)\n", + "#21 2.366 Collecting pyyaml<7.0,>=6.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 2.371 Downloading PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)\n", + "#21 2.397 Collecting requests<3.0,>=2.31.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 2.401 Downloading requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)\n", + "#21 2.485 Collecting psutil<7.0,>=6.0.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 2.489 Downloading psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (22 kB)\n", + "#21 2.564 Collecting wheel-axle-runtime<1.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 2.572 Downloading wheel_axle_runtime-0.0.6-py3-none-any.whl.metadata (8.1 kB)\n", + "#21 2.614 Collecting fastrlock>=0.5 (from cupy-cuda12x<14.0,>=12.2->holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 2.619 Downloading fastrlock-0.8.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl.metadata (7.7 kB)\n", + "#21 2.659 Collecting MarkupSafe>=2.0 (from jinja2->torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.662 Downloading MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)\n", + "#21 2.676 INFO: pip is looking at multiple versions of pyjpegls to determine which version is compatible with other requirements. This could take a while.\n", + "#21 2.677 Collecting pyjpegls>=1.0.0 (from highdicom>=0.18.2->-r /tmp/requirements.txt (line 1))\n", + "#21 2.683 Downloading pyjpegls-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.5 kB)\n", + "#21 2.693 Downloading pyjpegls-1.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.5 kB)\n", + "#21 2.827 Collecting pydantic!=2.0.*,<3,>=2 (from python-on-whales<1.0,>=0.60.1->holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 2.832 Downloading pydantic-2.10.6-py3-none-any.whl.metadata (30 kB)\n", + "#21 2.950 Collecting charset-normalizer<4,>=2 (from requests<3.0,>=2.31.0->holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 2.953 Downloading charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB)\n", + "#21 2.967 Collecting idna<4,>=2.5 (from requests<3.0,>=2.31.0->holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 2.971 Downloading idna-3.10-py3-none-any.whl.metadata (10 kB)\n", + "#21 3.000 Collecting urllib3<3,>=1.21.1 (from requests<3.0,>=2.31.0->holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 3.005 Downloading urllib3-2.3.0-py3-none-any.whl.metadata (6.5 kB)\n", + "#21 3.029 Collecting certifi>=2017.4.17 (from requests<3.0,>=2.31.0->holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 3.033 Downloading certifi-2024.12.14-py3-none-any.whl.metadata (2.3 kB)\n", + "#21 3.056 Collecting annotated-types>=0.6.0 (from pydantic!=2.0.*,<3,>=2->python-on-whales<1.0,>=0.60.1->holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 3.060 Downloading annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)\n", + "#21 3.675 Collecting pydantic-core==2.27.2 (from pydantic!=2.0.*,<3,>=2->python-on-whales<1.0,>=0.60.1->holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 3.679 Downloading pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)\n", + "#21 3.702 Downloading highdicom-0.24.0-py3-none-any.whl (1.1 MB)\n", + "#21 3.720 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 91.2 MB/s eta 0:00:00\n", + "#21 3.727 Downloading monai-1.4.0-py3-none-any.whl (1.5 MB)\n", + "#21 3.742 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 133.6 MB/s eta 0:00:00\n", + "#21 3.748 Downloading nibabel-5.3.2-py3-none-any.whl (3.3 MB)\n", + "#21 3.779 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 118.0 MB/s eta 0:00:00\n", + "#21 3.787 Downloading numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.2 MB)\n", + "#21 3.945 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.2/18.2 MB 117.2 MB/s eta 0:00:00\n", + "#21 3.955 Downloading pydicom-3.0.1-py3-none-any.whl (2.4 MB)\n", + "#21 3.979 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.4/2.4 MB 116.7 MB/s eta 0:00:00\n", + "#21 3.988 Downloading SimpleITK-2.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (52.4 MB)\n", + "#21 4.526 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 52.4/52.4 MB 98.5 MB/s eta 0:00:00\n", + "#21 4.536 Downloading torch-2.6.0-cp310-cp310-manylinux1_x86_64.whl (766.7 MB)\n", + "#21 12.90 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 766.7/766.7 MB 88.0 MB/s eta 0:00:00\n", + "#21 12.91 Downloading nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl (363.4 MB)\n", + "#21 16.68 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 363.4/363.4 MB 92.2 MB/s eta 0:00:00\n", + "#21 16.69 Downloading nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (13.8 MB)\n", + "#21 16.82 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.8/13.8 MB 111.5 MB/s eta 0:00:00\n", + "#21 16.83 Downloading nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (24.6 MB)\n", + "#21 17.04 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.6/24.6 MB 116.7 MB/s eta 0:00:00\n", + "#21 17.05 Downloading nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (883 kB)\n", + "#21 17.06 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 883.7/883.7 kB 123.2 MB/s eta 0:00:00\n", + "#21 17.07 Downloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)\n", + "#21 23.62 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 664.8/664.8 MB 111.9 MB/s eta 0:00:00\n", + "#21 23.63 Downloading nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl (211.5 MB)\n", + "#21 28.53 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 211.5/211.5 MB 43.2 MB/s eta 0:00:00\n", + "#21 28.54 Downloading nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl (56.3 MB)\n", + "#21 29.48 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.3/56.3 MB 60.0 MB/s eta 0:00:00\n", + "#21 29.49 Downloading nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl (127.9 MB)\n", + "#21 31.10 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 127.9/127.9 MB 79.9 MB/s eta 0:00:00\n", + "#21 31.10 Downloading nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl (207.5 MB)\n", + "#21 33.43 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 207.5/207.5 MB 89.2 MB/s eta 0:00:00\n", + "#21 33.44 Downloading nvidia_cusparselt_cu12-0.6.2-py3-none-manylinux2014_x86_64.whl (150.1 MB)\n", + "#21 34.79 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 150.1/150.1 MB 111.4 MB/s eta 0:00:00\n", + "#21 34.80 Downloading nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl (188.7 MB)\n", + "#21 36.81 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 188.7/188.7 MB 94.3 MB/s eta 0:00:00\n", + "#21 36.82 Downloading nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (21.1 MB)\n", + "#21 37.04 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 21.1/21.1 MB 95.0 MB/s eta 0:00:00\n", + "#21 37.05 Downloading nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (99 kB)\n", + "#21 37.06 Downloading sympy-1.13.1-py3-none-any.whl (6.2 MB)\n", + "#21 37.12 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.2/6.2 MB 105.9 MB/s eta 0:00:00\n", + "#21 37.13 Downloading triton-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (253.1 MB)\n", + "#21 40.22 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 253.1/253.1 MB 82.0 MB/s eta 0:00:00\n", + "#21 40.23 Downloading holoscan-2.9.0-cp310-cp310-manylinux_2_35_x86_64.whl (41.1 MB)\n", + "#21 40.60 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 41.1/41.1 MB 113.5 MB/s eta 0:00:00\n", + "#21 40.60 Downloading cloudpickle-3.1.1-py3-none-any.whl (20 kB)\n", + "#21 40.61 Downloading cupy_cuda12x-13.3.0-cp310-cp310-manylinux2014_x86_64.whl (90.6 MB)\n", + "#21 41.49 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6/90.6 MB 104.0 MB/s eta 0:00:00\n", + "#21 41.49 Downloading importlib_resources-6.5.2-py3-none-any.whl (37 kB)\n", + "#21 41.50 Downloading jinja2-3.1.5-py3-none-any.whl (134 kB)\n", + "#21 41.51 Downloading packaging-24.2-py3-none-any.whl (65 kB)\n", + "#21 41.51 Downloading pillow-11.1.0-cp310-cp310-manylinux_2_28_x86_64.whl (4.5 MB)\n", + "#21 41.56 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.5/4.5 MB 117.2 MB/s eta 0:00:00\n", + "#21 41.56 Downloading psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (287 kB)\n", + "#21 41.58 Downloading pyjpegls-1.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB)\n", + "#21 41.62 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.7/2.7 MB 114.3 MB/s eta 0:00:00\n", + "#21 41.62 Downloading python_on_whales-0.75.1-py3-none-any.whl (114 kB)\n", + "#21 41.63 Downloading PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (751 kB)\n", + "#21 41.64 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 751.2/751.2 kB 153.4 MB/s eta 0:00:00\n", + "#21 41.64 Downloading requests-2.32.3-py3-none-any.whl (64 kB)\n", + "#21 41.65 Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)\n", + "#21 41.66 Downloading wheel_axle_runtime-0.0.6-py3-none-any.whl (14 kB)\n", + "#21 41.67 Downloading filelock-3.17.0-py3-none-any.whl (16 kB)\n", + "#21 41.67 Downloading fsspec-2024.12.0-py3-none-any.whl (183 kB)\n", + "#21 41.68 Downloading networkx-3.4.2-py3-none-any.whl (1.7 MB)\n", + "#21 41.70 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 124.5 MB/s eta 0:00:00\n", + "#21 41.71 Downloading certifi-2024.12.14-py3-none-any.whl (164 kB)\n", + "#21 41.72 Downloading charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (146 kB)\n", + "#21 41.72 Downloading fastrlock-0.8.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl (53 kB)\n", + "#21 41.73 Downloading idna-3.10-py3-none-any.whl (70 kB)\n", + "#21 41.73 Downloading MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20 kB)\n", + "#21 41.74 Downloading mpmath-1.3.0-py3-none-any.whl (536 kB)\n", + "#21 41.75 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 536.2/536.2 kB 116.8 MB/s eta 0:00:00\n", + "#21 41.75 Downloading pydantic-2.10.6-py3-none-any.whl (431 kB)\n", + "#21 41.76 Downloading pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB)\n", + "#21 41.78 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.0/2.0 MB 116.5 MB/s eta 0:00:00\n", + "#21 41.78 Downloading urllib3-2.3.0-py3-none-any.whl (128 kB)\n", + "#21 41.79 Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB)\n", + "#21 54.16 Installing collected packages: triton, SimpleITK, nvidia-cusparselt-cu12, mpmath, fastrlock, urllib3, typing-extensions, sympy, pyyaml, pydicom, psutil, pillow, packaging, nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, numpy, networkx, MarkupSafe, importlib-resources, idna, fsspec, filelock, cloudpickle, charset-normalizer, certifi, annotated-types, wheel-axle-runtime, requests, pyjpegls, pydantic-core, nvidia-cusparse-cu12, nvidia-cudnn-cu12, nibabel, jinja2, cupy-cuda12x, pydantic, nvidia-cusolver-cu12, highdicom, torch, python-on-whales, monai, holoscan\n", + "#21 123.1 Successfully installed MarkupSafe-3.0.2 SimpleITK-2.4.1 annotated-types-0.7.0 certifi-2024.12.14 charset-normalizer-3.4.1 cloudpickle-3.1.1 cupy-cuda12x-13.3.0 fastrlock-0.8.3 filelock-3.17.0 fsspec-2024.12.0 highdicom-0.24.0 holoscan-2.9.0 idna-3.10 importlib-resources-6.5.2 jinja2-3.1.5 monai-1.4.0 mpmath-1.3.0 networkx-3.4.2 nibabel-5.3.2 numpy-1.26.4 nvidia-cublas-cu12-12.4.5.8 nvidia-cuda-cupti-cu12-12.4.127 nvidia-cuda-nvrtc-cu12-12.4.127 nvidia-cuda-runtime-cu12-12.4.127 nvidia-cudnn-cu12-9.1.0.70 nvidia-cufft-cu12-11.2.1.3 nvidia-curand-cu12-10.3.5.147 nvidia-cusolver-cu12-11.6.1.9 nvidia-cusparse-cu12-12.3.1.170 nvidia-cusparselt-cu12-0.6.2 nvidia-nccl-cu12-2.21.5 nvidia-nvjitlink-cu12-12.4.127 nvidia-nvtx-cu12-12.4.127 packaging-24.2 pillow-11.1.0 psutil-6.1.1 pydantic-2.10.6 pydantic-core-2.27.2 pydicom-3.0.1 pyjpegls-1.4.0 python-on-whales-0.75.1 pyyaml-6.0.2 requests-2.32.3 sympy-1.13.1 torch-2.6.0 triton-3.2.0 typing-extensions-4.12.2 urllib3-2.3.0 wheel-axle-runtime-0.0.6\n", + "#21 DONE 124.4s\n", "\n", "#22 [release 13/18] RUN pip install monai-deploy-app-sdk==2.0.0\n", - "#22 1.391 Defaulting to user installation because normal site-packages is not writeable\n", - "#22 1.610 Collecting monai-deploy-app-sdk==2.0.0\n", - "#22 1.630 Downloading monai_deploy_app_sdk-2.0.0-py3-none-any.whl.metadata (7.6 kB)\n", - "#22 1.654 Requirement already satisfied: numpy>=1.21.6 in /home/holoscan/.local/lib/python3.10/site-packages (from monai-deploy-app-sdk==2.0.0) (1.26.4)\n", - "#22 1.656 Requirement already satisfied: holoscan~=2.0 in /home/holoscan/.local/lib/python3.10/site-packages (from monai-deploy-app-sdk==2.0.0) (2.6.0)\n", - "#22 1.704 Collecting colorama>=0.4.1 (from monai-deploy-app-sdk==2.0.0)\n", - "#22 1.709 Downloading colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)\n", - "#22 1.802 Collecting typeguard>=3.0.0 (from monai-deploy-app-sdk==2.0.0)\n", - "#22 1.808 Downloading typeguard-4.4.1-py3-none-any.whl.metadata (3.7 kB)\n", - "#22 1.834 Requirement already satisfied: pip>22.0.2 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (24.3.1)\n", - "#22 1.835 Requirement already satisfied: cupy-cuda12x==12.2 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (12.2.0)\n", - "#22 1.836 Requirement already satisfied: cloudpickle==2.2.1 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.2.1)\n", - "#22 1.837 Requirement already satisfied: python-on-whales==0.60.1 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.60.1)\n", - "#22 1.837 Requirement already satisfied: Jinja2==3.1.3 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.1.3)\n", - "#22 1.838 Requirement already satisfied: packaging==23.1 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (23.1)\n", - "#22 1.838 Requirement already satisfied: pyyaml==6.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (6.0)\n", - "#22 1.839 Requirement already satisfied: requests==2.31.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.31.0)\n", - "#22 1.840 Requirement already satisfied: psutil==6.0.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (6.0.0)\n", - "#22 1.840 Requirement already satisfied: wheel-axle-runtime<1.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.0.6)\n", - "#22 1.846 Requirement already satisfied: fastrlock>=0.5 in /home/holoscan/.local/lib/python3.10/site-packages (from cupy-cuda12x==12.2->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.8.3)\n", - "#22 1.848 Requirement already satisfied: MarkupSafe>=2.0 in /home/holoscan/.local/lib/python3.10/site-packages (from Jinja2==3.1.3->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.0.2)\n", - "#22 1.855 Requirement already satisfied: pydantic<2,>=1.5 in /home/holoscan/.local/lib/python3.10/site-packages (from python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (1.10.21)\n", - "#22 1.855 Requirement already satisfied: tqdm in /home/holoscan/.local/lib/python3.10/site-packages (from python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (4.67.1)\n", - "#22 1.856 Requirement already satisfied: typer>=0.4.1 in /home/holoscan/.local/lib/python3.10/site-packages (from python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.15.1)\n", - "#22 1.856 Requirement already satisfied: typing-extensions in /home/holoscan/.local/lib/python3.10/site-packages (from python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (4.12.2)\n", - "#22 1.861 Requirement already satisfied: charset-normalizer<4,>=2 in /home/holoscan/.local/lib/python3.10/site-packages (from requests==2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.4.1)\n", - "#22 1.862 Requirement already satisfied: idna<4,>=2.5 in /home/holoscan/.local/lib/python3.10/site-packages (from requests==2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.10)\n", - "#22 1.862 Requirement already satisfied: urllib3<3,>=1.21.1 in /home/holoscan/.local/lib/python3.10/site-packages (from requests==2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.3.0)\n", - "#22 1.863 Requirement already satisfied: certifi>=2017.4.17 in /home/holoscan/.local/lib/python3.10/site-packages (from requests==2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2024.12.14)\n", - "#22 1.873 Requirement already satisfied: filelock in /home/holoscan/.local/lib/python3.10/site-packages (from wheel-axle-runtime<1.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.16.1)\n", - "#22 1.886 Requirement already satisfied: click>=8.0.0 in /home/holoscan/.local/lib/python3.10/site-packages (from typer>=0.4.1->python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (8.1.8)\n", - "#22 1.887 Requirement already satisfied: shellingham>=1.3.0 in /home/holoscan/.local/lib/python3.10/site-packages (from typer>=0.4.1->python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (1.5.4)\n", - "#22 1.888 Requirement already satisfied: rich>=10.11.0 in /home/holoscan/.local/lib/python3.10/site-packages (from typer>=0.4.1->python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (13.9.4)\n", - "#22 1.901 Requirement already satisfied: markdown-it-py>=2.2.0 in /home/holoscan/.local/lib/python3.10/site-packages (from rich>=10.11.0->typer>=0.4.1->python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.0.0)\n", - "#22 1.902 Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /home/holoscan/.local/lib/python3.10/site-packages (from rich>=10.11.0->typer>=0.4.1->python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.19.1)\n", - "#22 1.914 Requirement already satisfied: mdurl~=0.1 in /home/holoscan/.local/lib/python3.10/site-packages (from markdown-it-py>=2.2.0->rich>=10.11.0->typer>=0.4.1->python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.1.2)\n", - "#22 1.925 Downloading monai_deploy_app_sdk-2.0.0-py3-none-any.whl (132 kB)\n", - "#22 1.949 Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n", - "#22 1.970 Downloading typeguard-4.4.1-py3-none-any.whl (35 kB)\n", - "#22 2.194 Installing collected packages: typeguard, colorama, monai-deploy-app-sdk\n", - "#22 2.361 Successfully installed colorama-0.4.6 monai-deploy-app-sdk-2.0.0 typeguard-4.4.1\n", - "#22 DONE 2.7s\n", + "#22 1.361 Defaulting to user installation because normal site-packages is not writeable\n", + "#22 1.564 Collecting monai-deploy-app-sdk==2.0.0\n", + "#22 1.579 Downloading monai_deploy_app_sdk-2.0.0-py3-none-any.whl.metadata (7.6 kB)\n", + "#22 1.602 Requirement already satisfied: numpy>=1.21.6 in /home/holoscan/.local/lib/python3.10/site-packages (from monai-deploy-app-sdk==2.0.0) (1.26.4)\n", + "#22 1.604 Requirement already satisfied: holoscan~=2.0 in /home/holoscan/.local/lib/python3.10/site-packages (from monai-deploy-app-sdk==2.0.0) (2.9.0)\n", + "#22 1.647 Collecting colorama>=0.4.1 (from monai-deploy-app-sdk==2.0.0)\n", + "#22 1.652 Downloading colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)\n", + "#22 1.725 Collecting typeguard>=3.0.0 (from monai-deploy-app-sdk==2.0.0)\n", + "#22 1.731 Downloading typeguard-4.4.1-py3-none-any.whl.metadata (3.7 kB)\n", + "#22 1.768 Requirement already satisfied: pip>22.0.2 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (25.0)\n", + "#22 1.769 Requirement already satisfied: cupy-cuda12x<14.0,>=12.2 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (13.3.0)\n", + "#22 1.770 Requirement already satisfied: cloudpickle<4.0,>=3.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.1.1)\n", + "#22 1.771 Requirement already satisfied: python-on-whales<1.0,>=0.60.1 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.75.1)\n", + "#22 1.772 Requirement already satisfied: Jinja2<4.0,>=3.1.3 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.1.5)\n", + "#22 1.773 Requirement already satisfied: packaging>=23.1 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (24.2)\n", + "#22 1.774 Requirement already satisfied: pyyaml<7.0,>=6.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (6.0.2)\n", + "#22 1.776 Requirement already satisfied: requests<3.0,>=2.31.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.32.3)\n", + "#22 1.776 Requirement already satisfied: psutil<7.0,>=6.0.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (6.1.1)\n", + "#22 1.777 Requirement already satisfied: wheel-axle-runtime<1.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.0.6)\n", + "#22 1.781 Requirement already satisfied: typing-extensions>=4.10.0 in /home/holoscan/.local/lib/python3.10/site-packages (from typeguard>=3.0.0->monai-deploy-app-sdk==2.0.0) (4.12.2)\n", + "#22 1.788 Requirement already satisfied: fastrlock>=0.5 in /home/holoscan/.local/lib/python3.10/site-packages (from cupy-cuda12x<14.0,>=12.2->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.8.3)\n", + "#22 1.789 Requirement already satisfied: MarkupSafe>=2.0 in /home/holoscan/.local/lib/python3.10/site-packages (from Jinja2<4.0,>=3.1.3->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.0.2)\n", + "#22 1.799 Requirement already satisfied: pydantic!=2.0.*,<3,>=2 in /home/holoscan/.local/lib/python3.10/site-packages (from python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.10.6)\n", + "#22 1.804 Requirement already satisfied: charset-normalizer<4,>=2 in /home/holoscan/.local/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.4.1)\n", + "#22 1.805 Requirement already satisfied: idna<4,>=2.5 in /home/holoscan/.local/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.10)\n", + "#22 1.805 Requirement already satisfied: urllib3<3,>=1.21.1 in /home/holoscan/.local/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.3.0)\n", + "#22 1.806 Requirement already satisfied: certifi>=2017.4.17 in /home/holoscan/.local/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2024.12.14)\n", + "#22 1.811 Requirement already satisfied: filelock in /home/holoscan/.local/lib/python3.10/site-packages (from wheel-axle-runtime<1.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.17.0)\n", + "#22 1.830 Requirement already satisfied: annotated-types>=0.6.0 in /home/holoscan/.local/lib/python3.10/site-packages (from pydantic!=2.0.*,<3,>=2->python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.7.0)\n", + "#22 1.831 Requirement already satisfied: pydantic-core==2.27.2 in /home/holoscan/.local/lib/python3.10/site-packages (from pydantic!=2.0.*,<3,>=2->python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.27.2)\n", + "#22 1.849 Downloading monai_deploy_app_sdk-2.0.0-py3-none-any.whl (132 kB)\n", + "#22 1.872 Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n", + "#22 1.894 Downloading typeguard-4.4.1-py3-none-any.whl (35 kB)\n", + "#22 2.064 Installing collected packages: typeguard, colorama, monai-deploy-app-sdk\n", + "#22 2.201 Successfully installed colorama-0.4.6 monai-deploy-app-sdk-2.0.0 typeguard-4.4.1\n", + "#22 DONE 2.6s\n", "\n", "#23 [release 14/18] COPY ./models /opt/holoscan/models\n", "#23 DONE 0.2s\n", @@ -2118,96 +2092,91 @@ "\n", "#28 exporting to docker image format\n", "#28 exporting layers\n", - "#28 exporting layers 205.0s done\n", - "#28 exporting manifest sha256:b5de7fb835f449ac07a4279808b4a2c17058fba60dfd9e7078aa6e2170095160 0.0s done\n", - "#28 exporting config sha256:7b762d9bca4683bb5372f1446c10680cd780f8d2028d776a3b7170ce0e586fba 0.0s done\n", + "#28 exporting layers 203.4s done\n", + "#28 exporting manifest sha256:089e3612567f5b5a28edd5e2ffd6ddf01264ddbcdc641694b12620fdbfa40828 0.0s done\n", + "#28 exporting config sha256:a863c524e0de40b25e7e8b519c4009196f543dc45dde5399124c1f9317a67b4e 0.0s done\n", "#28 sending tarball\n", "#28 ...\n", "\n", "#29 importing to docker\n", - "#29 loading layer 883c651eec94 288B / 288B\n", - "#29 loading layer 882e8f4cf156 65.54kB / 5.03MB\n", - "#29 loading layer 9f353f6d59ee 557.06kB / 3.28GB\n", - "#29 loading layer 9f353f6d59ee 142.05MB / 3.28GB 6.2s\n", - "#29 loading layer 9f353f6d59ee 271.29MB / 3.28GB 12.4s\n", - "#29 loading layer 9f353f6d59ee 487.98MB / 3.28GB 16.5s\n", - "#29 loading layer 9f353f6d59ee 677.38MB / 3.28GB 20.7s\n", - "#29 loading layer 9f353f6d59ee 883.49MB / 3.28GB 24.7s\n", - "#29 loading layer 9f353f6d59ee 1.09GB / 3.28GB 28.8s\n", - "#29 loading layer 9f353f6d59ee 1.29GB / 3.28GB 32.9s\n", - "#29 loading layer 9f353f6d59ee 1.53GB / 3.28GB 37.0s\n", - "#29 loading layer 9f353f6d59ee 1.72GB / 3.28GB 41.2s\n", - "#29 loading layer 9f353f6d59ee 1.96GB / 3.28GB 45.3s\n", - "#29 loading layer 9f353f6d59ee 2.13GB / 3.28GB 49.5s\n", - "#29 loading layer 9f353f6d59ee 2.16GB / 3.28GB 55.1s\n", - "#29 loading layer 9f353f6d59ee 2.35GB / 3.28GB 61.2s\n", - "#29 loading layer 9f353f6d59ee 2.51GB / 3.28GB 67.4s\n", - "#29 loading layer 9f353f6d59ee 2.72GB / 3.28GB 71.5s\n", - "#29 loading layer 9f353f6d59ee 2.98GB / 3.28GB 75.6s\n", - "#29 loading layer 9f353f6d59ee 3.17GB / 3.28GB 81.8s\n", - "#29 loading layer ca1fe5d06ea9 32.77kB / 579.10kB\n", - "#29 loading layer 1c84ad13d4d7 196.61kB / 17.81MB\n", - "#29 loading layer 313542a3a9e5 492B / 492B\n", - "#29 loading layer 91ddb543620e 317B / 317B\n", - "#29 loading layer 7ea9ca4496c2 302B / 302B\n", - "#29 loading layer 313542a3a9e5 492B / 492B 0.3s done\n", - "#29 loading layer d1793e4b751a 3.94kB / 3.94kB\n", - "#29 loading layer 883c651eec94 288B / 288B 87.6s done\n", - "#29 loading layer 882e8f4cf156 65.54kB / 5.03MB 87.5s done\n", - "#29 loading layer 9f353f6d59ee 3.21GB / 3.28GB 86.9s done\n", - "#29 loading layer ca1fe5d06ea9 32.77kB / 579.10kB 0.8s done\n", - "#29 loading layer 1c84ad13d4d7 196.61kB / 17.81MB 0.6s done\n", - "#29 loading layer 91ddb543620e 317B / 317B 0.3s done\n", - "#29 loading layer 7ea9ca4496c2 302B / 302B 0.2s done\n", - "#29 loading layer d1793e4b751a 3.94kB / 3.94kB 0.1s done\n", - "#29 DONE 87.6s\n", + "#29 loading layer 4dfc251f5c56 289B / 289B\n", + "#29 loading layer 74089dc02aa9 65.54kB / 5.10MB\n", + "#29 loading layer efdd29e523f7 557.06kB / 3.34GB\n", + "#29 loading layer efdd29e523f7 159.32MB / 3.34GB 6.4s\n", + "#29 loading layer efdd29e523f7 330.33MB / 3.34GB 10.4s\n", + "#29 loading layer efdd29e523f7 557.06MB / 3.34GB 16.6s\n", + "#29 loading layer efdd29e523f7 797.70MB / 3.34GB 20.7s\n", + "#29 loading layer efdd29e523f7 1.01GB / 3.34GB 24.7s\n", + "#29 loading layer efdd29e523f7 1.25GB / 3.34GB 28.9s\n", + "#29 loading layer efdd29e523f7 1.45GB / 3.34GB 33.0s\n", + "#29 loading layer efdd29e523f7 1.74GB / 3.34GB 37.1s\n", + "#29 loading layer efdd29e523f7 1.95GB / 3.34GB 41.1s\n", + "#29 loading layer efdd29e523f7 2.17GB / 3.34GB 45.2s\n", + "#29 loading layer efdd29e523f7 2.31GB / 3.34GB 51.9s\n", + "#29 loading layer efdd29e523f7 2.53GB / 3.34GB 58.0s\n", + "#29 loading layer efdd29e523f7 2.74GB / 3.34GB 62.1s\n", + "#29 loading layer efdd29e523f7 3.03GB / 3.34GB 66.3s\n", + "#29 loading layer efdd29e523f7 3.21GB / 3.34GB 72.4s\n", + "#29 loading layer 47536db86449 32.77kB / 578.01kB\n", + "#29 loading layer 56926067dc15 196.61kB / 17.81MB\n", + "#29 loading layer a90406bd7fe1 492B / 492B\n", + "#29 loading layer 04571d3d4439 315B / 315B\n", + "#29 loading layer 6f5c809ef192 302B / 302B\n", + "#29 loading layer b97e5e112e3f 3.94kB / 3.94kB\n", + "#29 loading layer 04571d3d4439 315B / 315B 0.5s done\n", + "#29 loading layer 4dfc251f5c56 289B / 289B 78.7s done\n", + "#29 loading layer 74089dc02aa9 65.54kB / 5.10MB 78.6s done\n", + "#29 loading layer efdd29e523f7 3.25GB / 3.34GB 78.1s done\n", + "#29 loading layer 47536db86449 32.77kB / 578.01kB 1.2s done\n", + "#29 loading layer 56926067dc15 196.61kB / 17.81MB 0.9s done\n", + "#29 loading layer a90406bd7fe1 492B / 492B 0.6s done\n", + "#29 loading layer 6f5c809ef192 302B / 302B 0.4s done\n", + "#29 loading layer b97e5e112e3f 3.94kB / 3.94kB 0.4s done\n", + "#29 DONE 78.7s\n", "\n", "#28 exporting to docker image format\n", - "#28 sending tarball 132.5s done\n", - "#28 DONE 337.6s\n", + "#28 sending tarball 123.2s done\n", + "#28 DONE 326.7s\n", "\n", "#30 exporting cache to client directory\n", "#30 preparing build cache for export\n", - "#30 writing layer sha256:081bfe8f8e11e818382810bb80503f619230a484153219082adae168fbf8396c\n", - "#30 writing layer sha256:081bfe8f8e11e818382810bb80503f619230a484153219082adae168fbf8396c 0.1s done\n", - "#30 writing layer sha256:0e189544a55690047b498cd3539bd123ae622202a9042225913d03ce1c6833a0\n", - "#30 writing layer sha256:0e189544a55690047b498cd3539bd123ae622202a9042225913d03ce1c6833a0 0.3s done\n", - "#30 writing layer sha256:1379a39f4ee98d75ce0813a148b40721a1d044b776dcf3c69bc25fa55a7fb409\n", - "#30 writing layer sha256:1379a39f4ee98d75ce0813a148b40721a1d044b776dcf3c69bc25fa55a7fb409 0.0s done\n", + "#30 writing layer sha256:05b02574544ba690caa3ab6304a23e2eb00610e44ca586c3f6045abe235d4886\n", + "#30 writing layer sha256:05b02574544ba690caa3ab6304a23e2eb00610e44ca586c3f6045abe235d4886 0.0s done\n", + "#30 writing layer sha256:067153055e77a79b3715e3a56caac895ee686a2fa6cadc4423c28d2eb20f0542 done\n", + "#30 writing layer sha256:0e0b90cb6cbd645ccffb017000cd0ff199c69273a69425adf3ccd1ebb3f573aa 0.0s done\n", "#30 writing layer sha256:1a0d52c93099897b518eb6cc6cd0fa3d52ff733e8606b4d8c92675ba9e7101ff done\n", - "#30 writing layer sha256:22b94b166959ca031b96456bdaa8a8bf9b3aea406e403ec6f96cfd8084ae9d64 0.0s done\n", "#30 writing layer sha256:234b866f57e0c5d555af2d87a1857a17ec4ac7e70d2dc6c31ff0a072a4607f24 done\n", "#30 writing layer sha256:255905badeaa82f032e1043580eed8b745c19cd4a2cb7183883ee5a30f851d6d done\n", "#30 writing layer sha256:3713021b02770a720dea9b54c03d0ed83e03a2ef5dce2898c56a327fee9a8bca done\n", "#30 writing layer sha256:3a80776cdc9c9ef79bb38510849c9160f82462d346bf5a8bf29c811391b4e763 done\n", - "#30 writing layer sha256:41e173df84c503c9e717e0e67c22260d4e6bb14660577b225dec5733b4155a78 done\n", - "#30 writing layer sha256:45a11df8fc21851a3008fe386358f1172c0c589095845f174d42bb86db2f1c49\n", - "#30 writing layer sha256:45a11df8fc21851a3008fe386358f1172c0c589095845f174d42bb86db2f1c49 49.4s done\n", - "#30 writing layer sha256:46c9c54348df10b0d7700bf932d5de7dc5bf9ab91e685db7086e29e381ff8e12 0.2s done\n", - "#30 writing layer sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1\n", + "#30 writing layer sha256:440849e3569a74baf883d1a14010854807280727ba17c36f82beee5b7d5052b2 done\n", + "#30 writing layer sha256:46c9c54348df10b0d7700bf932d5de7dc5bf9ab91e685db7086e29e381ff8e12 done\n", "#30 writing layer sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 done\n", "#30 writing layer sha256:67b3546b211deefd67122e680c0932886e0b3c6bd6ae0665e3ab25d2d9f0cda0 done\n", - "#30 writing layer sha256:94ea8fe9174939142272c5d49e179ba19f357ea997b5d4f3900d1fb7d4fe6707 done\n", + "#30 writing layer sha256:695ba418a525cecd1c5442c010ea5f070327d38dfa8f533e63ae845fc3660be8 done\n", + "#30 writing layer sha256:69f904b6c73e074809a57dc05803a5c6c37f5baf25e7fb407edc341511a2f9ba\n", + "#30 writing layer sha256:69f904b6c73e074809a57dc05803a5c6c37f5baf25e7fb407edc341511a2f9ba 49.2s done\n", + "#30 writing layer sha256:7420a5aefb199de2dd8aa67797672d53bafd18356d3bf7a2f1aec1f67f86020b\n", + "#30 writing layer sha256:7420a5aefb199de2dd8aa67797672d53bafd18356d3bf7a2f1aec1f67f86020b 0.0s done\n", "#30 writing layer sha256:980c13e156f90218b216bc6b0430472bbda71c0202804d350c0e16ef02075885 done\n", - "#30 writing layer sha256:a1e7b959519ccdfb2adb42b59a134cfc9715d7cbffbff130a0f32bec129e4514 0.1s done\n", + "#30 writing layer sha256:a7292bbf42d93ed9fca9e2ff7e5283d2e7f737dad14092919db7645628bb0838 0.0s done\n", + "#30 writing layer sha256:a8560dc90723760d8d4daf42b22f7760b034c87e9348697c113118b992d830ca 0.1s done\n", "#30 writing layer sha256:ac52600be001236a2c291a4c5902c915bf5ec9d2441c06d2a54c587b76345847\n", "#30 writing layer sha256:ac52600be001236a2c291a4c5902c915bf5ec9d2441c06d2a54c587b76345847 done\n", + "#30 writing layer sha256:b2d7a44feb1d1dd34b73842e1048b1b2ee32c381943f40f9ee7d3945b9818b09 0.0s done\n", "#30 writing layer sha256:bc25d810fc1fd99656c1b07d422e88cdb896508730175bc3ec187b79f3787044 done\n", - "#30 writing layer sha256:bfa5ec525f430f0d201578b006cd216f9bb89f61b91e96b5c2111bb04e7569e4\n", - "#30 writing layer sha256:bfa5ec525f430f0d201578b006cd216f9bb89f61b91e96b5c2111bb04e7569e4 0.2s done\n", - "#30 writing layer sha256:c0e9112106766f6d918279426468ca3a81ddca90d82a7e3e41ed3d96b0464a94\n", - "#30 writing layer sha256:c0e9112106766f6d918279426468ca3a81ddca90d82a7e3e41ed3d96b0464a94 0.0s done\n", - "#30 writing layer sha256:c8937b741c9ecd6b257aeb18daf07eddbf1c77b0c93f9ba4164faa8353cd1d3c done\n", + "#30 writing layer sha256:bdb033062d61ab2282e08a5a8fcaee9d08e5c93b46d0b1d9b5f378b458e4ea07 0.0s done\n", + "#30 writing layer sha256:be0dad9c160128582482df5e64337c99c213a48988d5d12d453bd03bc2a4c1b1 done\n", + "#30 writing layer sha256:c94af7742e07c9041104260b79637c243ef8dd25eb4241f06ef1a3899a99f2bd done\n", "#30 writing layer sha256:d339273dfb7fc3b7fd896d3610d360ab9a09ab33a818093cb73b4be7639b6e99 done\n", - "#30 writing layer sha256:e540d242f419a27800d601d7275f4fbb3488b97d209b454f52e63f1eb413a912 done\n", - "#30 writing layer sha256:edd12bb5b9c08c2e288fc295bf1f84feac12beac66caaa8a19956942eb729aef 0.1s done\n", "#30 writing layer sha256:efc9014e2a4cb1e133b80bb4f047e9141e98685eb95b8d2471a8e35b86643e31 done\n", - "#30 writing layer sha256:f5fde379d4095f4d724bdbcb4a4851cd60e289756e2a6bbf03fdc1876d68d70b 0.1s done\n", - "#30 writing config sha256:f4279d2706416776e3bb6861a808890e284046f50af2a42e2a8b4cb8b1d078ba 0.0s done\n", - "#30 preparing build cache for export 50.8s done\n", - "#30 writing cache manifest sha256:8778ac8296a1eef32e320942180f024438bc19f8e53b1f74a672584566a828ed 0.0s done\n", - "#30 DONE 50.8s\n", - "[2025-01-16 16:26:32,367] [INFO] (packager) - Build Summary:\n", + "#30 writing layer sha256:fa35667ed3d919e87dc31994d8dfd51eab483c48ae72fb0ad2ab83e2b544c7c3\n", + "#30 writing layer sha256:fa35667ed3d919e87dc31994d8dfd51eab483c48ae72fb0ad2ab83e2b544c7c3 0.3s done\n", + "#30 preparing build cache for export 50.1s done\n", + "#30 writing config sha256:dff8a5cdb36509e072452e50bce7b5a26df3d17fd6570f7f4ab9dc79ea47e02e 0.0s done\n", + "#30 writing cache manifest sha256:bf6b0dabb704fd0021d37ae93daa4ad6ff38ef9d7b58d131e90451dbbcdcd709 0.0s done\n", + "#30 DONE 50.1s\n", + "[2025-01-29 14:39:18,007] [INFO] (packager) - Build Summary:\n", "\n", "Platform: x64-workstation/dgpu\n", " Status: Succeeded\n", @@ -2233,14 +2202,14 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "my_app-x64-workstation-dgpu-linux-amd64 1.0 7b762d9bca46 6 minutes ago 8.45GB\n" + "my_app-x64-workstation-dgpu-linux-amd64 1.0 a863c524e0de 6 minutes ago 8.63GB\n" ] } ], @@ -2259,7 +2228,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -2268,22 +2237,23 @@ "text": [ "output\n", "dcm\n", - "[2025-01-16 16:32:17,206] [INFO] (runner) - Checking dependencies...\n", - "[2025-01-16 16:32:17,206] [INFO] (runner) - --> Verifying if \"docker\" is installed...\n", + "[2025-01-29 14:39:20,640] [INFO] (runner) - Checking dependencies...\n", + "[2025-01-29 14:39:20,641] [INFO] (runner) - --> Verifying if \"docker\" is installed...\n", "\n", - "[2025-01-16 16:32:17,207] [INFO] (runner) - --> Verifying if \"docker-buildx\" is installed...\n", + "[2025-01-29 14:39:20,641] [INFO] (runner) - --> Verifying if \"docker-buildx\" is installed...\n", "\n", - "[2025-01-16 16:32:17,209] [INFO] (runner) - --> Verifying if \"my_app-x64-workstation-dgpu-linux-amd64:1.0\" is available...\n", + "[2025-01-29 14:39:20,641] [INFO] (runner) - --> Verifying if \"my_app-x64-workstation-dgpu-linux-amd64:1.0\" is available...\n", "\n", - "[2025-01-16 16:32:17,419] [INFO] (runner) - Reading HAP/MAP manifest...\n", - "Successfully copied 2.56kB to /tmp/tmpgnvxx1p1/app.json\n", - "Successfully copied 2.05kB to /tmp/tmpgnvxx1p1/pkg.json\n", - "[2025-01-16 16:32:17,704] [INFO] (runner) - --> Verifying if \"nvidia-ctk\" is installed...\n", + "[2025-01-29 14:39:20,713] [INFO] (runner) - Reading HAP/MAP manifest...\n", + "Successfully copied 2.56kB to /tmp/tmpguo6yiqf/app.json\n", + "Successfully copied 2.05kB to /tmp/tmpguo6yiqf/pkg.json\n", + "2f1c2c8df19c8ecc58cc0d8136bdd27b4143e88c67da72b5340f86b49eec22bb\n", + "[2025-01-29 14:39:21,151] [INFO] (runner) - --> Verifying if \"nvidia-ctk\" is installed...\n", "\n", - "[2025-01-16 16:32:17,705] [INFO] (runner) - --> Verifying \"nvidia-ctk\" version...\n", + "[2025-01-29 14:39:21,152] [INFO] (runner) - --> Verifying \"nvidia-ctk\" version...\n", "\n", - "[2025-01-16 16:32:18,172] [INFO] (common) - Launching container (75640cd60fab) using image 'my_app-x64-workstation-dgpu-linux-amd64:1.0'...\n", - " container name: pensive_robinson\n", + "[2025-01-29 14:39:21,443] [INFO] (common) - Launching container (d6429624e9ee) using image 'my_app-x64-workstation-dgpu-linux-amd64:1.0'...\n", + " container name: relaxed_zhukovsky\n", " host name: mingq-dt\n", " network: host\n", " user: 1000:1000\n", @@ -2293,93 +2263,103 @@ " shared memory size: 67108864\n", " devices: \n", " group_add: 44\n", - "2025-01-17 00:32:19 [INFO] Launching application python3 /opt/holoscan/app ...\n", + "2025-01-29 22:39:22 [INFO] Launching application python3 /opt/holoscan/app ...\n", "\n", - "[info] [fragment.cpp:585] Loading extensions from configs...\n", + "[info] [fragment.cpp:599] Loading extensions from configs...\n", "\n", - "[info] [gxf_executor.cpp:255] Creating context\n", + "[info] [gxf_executor.cpp:264] Creating context\n", "\n", - "[2025-01-17 00:32:27,067] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=['/opt/holoscan/app'])\n", + "[2025-01-29 22:39:28,954] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=['/opt/holoscan/app'])\n", "\n", - "[2025-01-17 00:32:27,077] [INFO] (root) - AppContext object: AppContext(input_path=/var/holoscan/input, output_path=/var/holoscan/output, model_path=/opt/holoscan/models, workdir=/var/holoscan)\n", + "[2025-01-29 22:39:28,960] [INFO] (root) - AppContext object: AppContext(input_path=/var/holoscan/input, output_path=/var/holoscan/output, model_path=/opt/holoscan/models, workdir=/var/holoscan)\n", "\n", - "[2025-01-17 00:32:27,077] [INFO] (app.AISpleenSegApp) - App input and output path: /var/holoscan/input, /var/holoscan/output\n", + "[2025-01-29 22:39:28,961] [INFO] (app.AISpleenSegApp) - App input and output path: /var/holoscan/input, /var/holoscan/output\n", "\n", - "[info] [app_driver.cpp:1176] Launching the driver/health checking service\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'input_folder'\n", "\n", - "[info] [gxf_executor.cpp:1973] Activating Graph...\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'dicom_study_list'\n", "\n", - "[info] [gxf_executor.cpp:2003] Running Graph...\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", "\n", - "[info] [gxf_executor.cpp:2005] Waiting for completion...\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", "\n", - "[info] [greedy_scheduler.cpp:191] Scheduling 5 entities\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'output_folder'\n", "\n", - "[2025-01-17 00:32:27,104] [INFO] (monai.deploy.operators.dicom_data_loader_operator.DICOMDataLoaderOperator) - No or invalid input path from the optional input port: None\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'seg_image'\n", + "\n", + "[info] [gxf_executor.cpp:2208] Activating Graph...\n", + "\n", + "[info] [gxf_executor.cpp:2238] Running Graph...\n", + "\n", + "[info] [gxf_executor.cpp:2240] Waiting for completion...\n", + "\n", + "[info] [greedy_scheduler.cpp:191] Scheduling 5 entities\n", "\n", - "[info] [server.cpp:87] Health checking server listening on 0.0.0.0:8777\n", + "[2025-01-29 22:39:29,005] [INFO] (monai.deploy.operators.dicom_data_loader_operator.DICOMDataLoaderOperator) - No or invalid input path from the optional input port: None\n", "\n", - "[2025-01-17 00:32:28,766] [INFO] (root) - Finding series for Selection named: CT Series\n", + "[2025-01-29 22:39:29,927] [INFO] (root) - Finding series for Selection named: CT Series\n", "\n", - "[2025-01-17 00:32:28,772] [INFO] (root) - Searching study, : 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291\n", + "[2025-01-29 22:39:29,927] [INFO] (root) - Searching study, : 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291\n", "\n", " # of series: 1\n", "\n", - "[2025-01-17 00:32:28,772] [INFO] (root) - Working on series, instance UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", + "[2025-01-29 22:39:29,927] [INFO] (root) - Working on series, instance UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", "\n", - "[2025-01-17 00:32:28,772] [INFO] (root) - On attribute: 'StudyDescription' to match value: '(.*?)'\n", + "[2025-01-29 22:39:29,927] [INFO] (root) - On attribute: 'StudyDescription' to match value: '(.*?)'\n", "\n", - "[2025-01-17 00:32:28,772] [INFO] (root) - Series attribute StudyDescription value: CT ABDOMEN W IV CONTRAST\n", + "[2025-01-29 22:39:29,927] [INFO] (root) - Series attribute StudyDescription value: CT ABDOMEN W IV CONTRAST\n", "\n", - "[2025-01-17 00:32:28,772] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 22:39:29,927] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", "\n", - "[2025-01-17 00:32:28,772] [INFO] (root) - On attribute: 'Modality' to match value: '(?i)CT'\n", + "[2025-01-29 22:39:29,928] [INFO] (root) - On attribute: 'Modality' to match value: '(?i)CT'\n", "\n", - "[2025-01-17 00:32:28,772] [INFO] (root) - Series attribute Modality value: CT\n", + "[2025-01-29 22:39:29,928] [INFO] (root) - Series attribute Modality value: CT\n", "\n", - "[2025-01-17 00:32:28,772] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 22:39:29,928] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", "\n", - "[2025-01-17 00:32:28,773] [INFO] (root) - On attribute: 'SeriesDescription' to match value: '(.*?)'\n", + "[2025-01-29 22:39:29,928] [INFO] (root) - On attribute: 'SeriesDescription' to match value: '(.*?)'\n", "\n", - "[2025-01-17 00:32:28,773] [INFO] (root) - Series attribute SeriesDescription value: ABD/PANC 3.0 B31f\n", + "[2025-01-29 22:39:29,928] [INFO] (root) - Series attribute SeriesDescription value: ABD/PANC 3.0 B31f\n", "\n", - "[2025-01-17 00:32:28,773] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 22:39:29,928] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", "\n", - "[2025-01-17 00:32:28,773] [INFO] (root) - On attribute: 'ImageType' to match value: ['PRIMARY', 'ORIGINAL']\n", + "[2025-01-29 22:39:29,928] [INFO] (root) - On attribute: 'ImageType' to match value: ['PRIMARY', 'ORIGINAL']\n", "\n", - "[2025-01-17 00:32:28,773] [INFO] (root) - Series attribute ImageType value: None\n", + "[2025-01-29 22:39:29,928] [INFO] (root) - Series attribute ImageType value: None\n", "\n", - "[2025-01-17 00:32:28,774] [INFO] (root) - Selected Series, UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", + "[2025-01-29 22:39:29,929] [INFO] (root) - Selected Series, UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", "\n", - "[2025-01-17 00:32:29,926] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Converted Image object metadata:\n", + "[2025-01-29 22:39:30,619] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Converted Image object metadata:\n", "\n", - "[2025-01-17 00:32:29,926] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesInstanceUID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239, type \n", + "[2025-01-29 22:39:30,620] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesInstanceUID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239, type \n", "\n", - "[2025-01-17 00:32:29,926] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesDate: 20090831, type \n", + "[2025-01-29 22:39:30,620] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesDate: 20090831, type \n", "\n", - "[2025-01-17 00:32:29,927] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesTime: 101721.452, type \n", + "[2025-01-29 22:39:30,620] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesTime: 101721.452, type \n", "\n", - "[2025-01-17 00:32:29,927] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Modality: CT, type \n", + "[2025-01-29 22:39:30,620] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Modality: CT, type \n", "\n", - "[2025-01-17 00:32:29,927] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesDescription: ABD/PANC 3.0 B31f, type \n", + "[2025-01-29 22:39:30,620] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesDescription: ABD/PANC 3.0 B31f, type \n", "\n", - "[2025-01-17 00:32:29,927] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - PatientPosition: HFS, type \n", + "[2025-01-29 22:39:30,620] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - PatientPosition: HFS, type \n", "\n", - "[2025-01-17 00:32:29,927] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesNumber: 8, type \n", + "[2025-01-29 22:39:30,620] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - SeriesNumber: 8, type \n", "\n", - "[2025-01-17 00:32:29,930] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - row_pixel_spacing: 0.7890625, type \n", + "[2025-01-29 22:39:30,620] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - row_pixel_spacing: 0.7890625, type \n", "\n", - "[2025-01-17 00:32:29,930] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - col_pixel_spacing: 0.7890625, type \n", + "[2025-01-29 22:39:30,620] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - col_pixel_spacing: 0.7890625, type \n", "\n", - "[2025-01-17 00:32:29,930] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - depth_pixel_spacing: 1.5, type \n", + "[2025-01-29 22:39:30,620] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - depth_pixel_spacing: 1.5, type \n", "\n", - "[2025-01-17 00:32:29,931] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - row_direction_cosine: [1.0, 0.0, 0.0], type \n", + "[2025-01-29 22:39:30,620] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - row_direction_cosine: [1.0, 0.0, 0.0], type \n", "\n", - "[2025-01-17 00:32:29,931] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - col_direction_cosine: [0.0, 1.0, 0.0], type \n", + "[2025-01-29 22:39:30,620] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - col_direction_cosine: [0.0, 1.0, 0.0], type \n", "\n", - "[2025-01-17 00:32:29,931] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - depth_direction_cosine: [0.0, 0.0, 1.0], type \n", + "[2025-01-29 22:39:30,620] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - depth_direction_cosine: [0.0, 0.0, 1.0], type \n", "\n", - "[2025-01-17 00:32:29,938] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - dicom_affine_transform: [[ 0.7890625 0. 0. -197.60547 ]\n", + "[2025-01-29 22:39:30,621] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - dicom_affine_transform: [[ 0.7890625 0. 0. -197.60547 ]\n", "\n", " [ 0. 0.7890625 0. -398.60547 ]\n", "\n", @@ -2387,7 +2367,7 @@ "\n", " [ 0. 0. 0. 1. ]], type \n", "\n", - "[2025-01-17 00:32:29,939] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - nifti_affine_transform: [[ -0.7890625 -0. -0. 197.60547 ]\n", + "[2025-01-29 22:39:30,621] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - nifti_affine_transform: [[ -0.7890625 -0. -0. 197.60547 ]\n", "\n", " [ -0. -0.7890625 -0. 398.60547 ]\n", "\n", @@ -2395,63 +2375,63 @@ "\n", " [ 0. 0. 0. 1. ]], type \n", "\n", - "[2025-01-17 00:32:29,939] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyInstanceUID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291, type \n", + "[2025-01-29 22:39:30,621] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyInstanceUID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291, type \n", "\n", - "[2025-01-17 00:32:29,939] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyID: , type \n", + "[2025-01-29 22:39:30,621] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyID: , type \n", "\n", - "[2025-01-17 00:32:29,940] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyDate: 20090831, type \n", + "[2025-01-29 22:39:30,621] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyDate: 20090831, type \n", "\n", - "[2025-01-17 00:32:29,940] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyTime: 095948.599, type \n", + "[2025-01-29 22:39:30,621] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyTime: 095948.599, type \n", "\n", - "[2025-01-17 00:32:29,940] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyDescription: CT ABDOMEN W IV CONTRAST, type \n", + "[2025-01-29 22:39:30,621] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - StudyDescription: CT ABDOMEN W IV CONTRAST, type \n", "\n", - "[2025-01-17 00:32:29,940] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - AccessionNumber: 5471978513296937, type \n", + "[2025-01-29 22:39:30,621] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - AccessionNumber: 5471978513296937, type \n", "\n", - "[2025-01-17 00:32:29,940] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - selection_name: CT Series, type \n", + "[2025-01-29 22:39:30,621] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - selection_name: CT Series, type \n", "\n", - "2025-01-17 00:33:37,448 INFO image_writer.py:197 - writing: /var/holoscan/output/saved_images_folder/1.3.6.1.4.1.14519.5.2.1.7085.2626/1.3.6.1.4.1.14519.5.2.1.7085.2626.nii\n", + "2025-01-29 22:39:31,772 INFO image_writer.py:197 - writing: /var/holoscan/output/saved_images_folder/1.3.6.1.4.1.14519.5.2.1.7085.2626/1.3.6.1.4.1.14519.5.2.1.7085.2626.nii\n", "\n", - "2025-01-17 00:45:52,727 INFO image_writer.py:197 - writing: /var/holoscan/output/saved_images_folder/1.3.6.1.4.1.14519.5.2.1.7085.2626/1.3.6.1.4.1.14519.5.2.1.7085.2626_seg.nii\n", + "2025-01-29 22:39:36,704 INFO image_writer.py:197 - writing: /var/holoscan/output/saved_images_folder/1.3.6.1.4.1.14519.5.2.1.7085.2626/1.3.6.1.4.1.14519.5.2.1.7085.2626_seg.nii\n", "\n", - "[2025-01-17 00:46:04,570] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Output Seg image numpy array shaped: (204, 512, 512)\n", + "[2025-01-29 22:39:38,595] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Output Seg image numpy array shaped: (204, 512, 512)\n", "\n", - "[2025-01-17 00:46:05,016] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Output Seg image pixel max value: 1\n", + "[2025-01-29 22:39:38,601] [INFO] (monai.deploy.operators.monai_seg_inference_operator.MonaiSegInferenceOperator) - Output Seg image pixel max value: 1\n", "\n", "/home/holoscan/.local/lib/python3.10/site-packages/highdicom/base.py:163: UserWarning: The string \"C3N-00198\" is unlikely to represent the intended person name since it contains only a single component. Construct a person name according to the format in described in https://dicom.nema.org/dicom/2013/output/chtml/part05/sect_6.2.html#sect_6.2.1.2, or, in pydicom 2.2.0 or later, use the pydicom.valuerep.PersonName.from_named_components() method to construct the person name correctly. If a single-component name is really intended, add a trailing caret character to disambiguate the name.\n", "\n", " check_person_name(patient_name)\n", "\n", - "[2025-01-17 00:46:08,718] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 22:39:40,097] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", "\n", - "[2025-01-17 00:46:08,794] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", + "[2025-01-29 22:39:40,097] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", "\n", - "[2025-01-17 00:46:08,794] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 22:39:40,097] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", "\n", - "[2025-01-17 00:46:08,794] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", + "[2025-01-29 22:39:40,097] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", "\n", - "[2025-01-17 00:46:08,803] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", + "[2025-01-29 22:39:40,098] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", "\n", - "[2025-01-17 00:46:08,804] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 22:39:40,098] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", "\n", - "[2025-01-17 00:46:08,804] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", + "[2025-01-29 22:39:40,098] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", "\n", - "[2025-01-17 00:46:08,805] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", + "[2025-01-29 22:39:40,098] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", "\n", - "[2025-01-17 00:46:08,805] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", + "[2025-01-29 22:39:40,099] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", "\n", "[info] [greedy_scheduler.cpp:372] Scheduler stopped: Some entities are waiting for execution, but there are no periodic or async entities to get out of the deadlock.\n", "\n", "[info] [greedy_scheduler.cpp:401] Scheduler finished.\n", "\n", - "[info] [gxf_executor.cpp:2008] Deactivating Graph...\n", + "[info] [gxf_executor.cpp:2243] Deactivating Graph...\n", "\n", - "[info] [gxf_executor.cpp:2016] Graph execution finished.\n", + "[info] [gxf_executor.cpp:2251] Graph execution finished.\n", "\n", - "[2025-01-17 00:46:09,721] [INFO] (app.AISpleenSegApp) - End run\n", + "[2025-01-29 22:39:40,203] [INFO] (app.AISpleenSegApp) - End run\n", "\n", - "[info] [gxf_executor.cpp:284] Destroying context\n", + "[info] [gxf_executor.cpp:294] Destroying context\n", "\n", - "[2025-01-16 16:46:26,092] [INFO] (common) - Container 'pensive_robinson'(75640cd60fab) exited.\n" + "[2025-01-29 14:39:42,029] [INFO] (common) - Container 'relaxed_zhukovsky'(d6429624e9ee) exited.\n" ] } ], @@ -2465,7 +2445,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -2473,7 +2453,7 @@ "output_type": "stream", "text": [ "output:\n", - "1.2.826.0.1.3680043.10.511.3.60700946839990713142461529413707592.dcm\n", + "1.2.826.0.1.3680043.10.511.3.9998962080747738621710125447135664.dcm\n", "saved_images_folder\n", "\n", "output/saved_images_folder:\n", diff --git a/notebooks/tutorials/03_segmentation_viz_app.ipynb b/notebooks/tutorials/03_segmentation_viz_app.ipynb index 173dc764..4264758d 100644 --- a/notebooks/tutorials/03_segmentation_viz_app.ipynb +++ b/notebooks/tutorials/03_segmentation_viz_app.ipynb @@ -347,13 +347,13 @@ "# !pip install gdown\n", "# !gdown \"https://drive.google.com/uc?id=1IwWMpbo2fd38fKIqeIdL8SKTGvkn31tK\"\n", "\n", - "# Clean up the destinaton folder for the input DICOM files\n", + "# Clean up the destination folder for the input DICOM files\n", "!rm -rf dcm\n", "\n", "# After downloading ai_spleen_bundle_data zip file from the web browser or using gdown,\n", "!unzip -o \"ai_spleen_seg_bundle_data.zip\"\n", "\n", - "# Need to copy the model.ts file to its own clean subfolder for pacakging, to workaround an issue in the Packager\n", + "# Need to copy the model.ts file to its own clean subfolder for packaging, to workaround an issue in the Packager\n", "models_folder = \"models\"\n", "!rm -rf {models_folder} && mkdir -p {models_folder}/model && cp model.ts {models_folder}/model && ls {models_folder}/model" ] @@ -618,42 +618,42 @@ "name": "stderr", "output_type": "stream", "text": [ - "[info] [fragment.cpp:588] Loading extensions from configs...\n", - "[2025-01-16 18:38:40,744] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=[])\n", - "[2025-01-16 18:38:40,750] [INFO] (root) - AppContext object: AppContext(input_path=dcm, output_path=output, model_path=models, workdir=)\n", - "[2025-01-16 18:38:40,755] [INFO] (root) - End compose\n", - "[info] [gxf_executor.cpp:262] Creating context\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'input_folder'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'dicom_study_list'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'study_selected_series_list'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'image'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'seg_image'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'image'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'output_file'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'image'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'output_folder'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'study_selected_series_list'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'seg_image'\n", - "[info] [gxf_executor.cpp:2178] Activating Graph...\n", - "[info] [gxf_executor.cpp:2208] Running Graph...\n", - "[info] [gxf_executor.cpp:2210] Waiting for completion...\n", + "[info] [fragment.cpp:599] Loading extensions from configs...\n", + "[2025-01-29 14:41:46,387] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=[])\n", + "[2025-01-29 14:41:46,393] [INFO] (root) - AppContext object: AppContext(input_path=dcm, output_path=output, model_path=models, workdir=)\n", + "[2025-01-29 14:41:46,398] [INFO] (root) - End compose\n", + "[info] [gxf_executor.cpp:264] Creating context\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'input_folder'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'dicom_study_list'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'seg_image'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'output_file'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'output_folder'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'seg_image'\n", + "[info] [gxf_executor.cpp:2208] Activating Graph...\n", + "[info] [gxf_executor.cpp:2238] Running Graph...\n", + "[info] [gxf_executor.cpp:2240] Waiting for completion...\n", "[info] [greedy_scheduler.cpp:191] Scheduling 7 entities\n", - "[2025-01-16 18:38:40,785] [INFO] (monai.deploy.operators.dicom_data_loader_operator.DICOMDataLoaderOperator) - No or invalid input path from the optional input port: None\n", - "[2025-01-16 18:38:41,165] [INFO] (root) - Finding series for Selection named: CT Series\n", - "[2025-01-16 18:38:41,167] [INFO] (root) - Searching study, : 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291\n", + "[2025-01-29 14:41:46,525] [INFO] (monai.deploy.operators.dicom_data_loader_operator.DICOMDataLoaderOperator) - No or invalid input path from the optional input port: None\n", + "[2025-01-29 14:41:46,884] [INFO] (root) - Finding series for Selection named: CT Series\n", + "[2025-01-29 14:41:46,885] [INFO] (root) - Searching study, : 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291\n", " # of series: 1\n", - "[2025-01-16 18:38:41,168] [INFO] (root) - Working on series, instance UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", - "[2025-01-16 18:38:41,169] [INFO] (root) - On attribute: 'StudyDescription' to match value: '(.*?)'\n", - "[2025-01-16 18:38:41,170] [INFO] (root) - Series attribute StudyDescription value: CT ABDOMEN W IV CONTRAST\n", - "[2025-01-16 18:38:41,171] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 18:38:41,172] [INFO] (root) - On attribute: 'Modality' to match value: '(?i)CT'\n", - "[2025-01-16 18:38:41,174] [INFO] (root) - Series attribute Modality value: CT\n", - "[2025-01-16 18:38:41,174] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 18:38:41,175] [INFO] (root) - On attribute: 'SeriesDescription' to match value: '(.*?)'\n", - "[2025-01-16 18:38:41,175] [INFO] (root) - Series attribute SeriesDescription value: ABD/PANC 3.0 B31f\n", - "[2025-01-16 18:38:41,176] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 18:38:41,176] [INFO] (root) - Selected Series, UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", - "[2025-01-16 18:38:41,491] [INFO] (root) - Parsing from bundle_path: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models/model/model.ts\n", + "[2025-01-29 14:41:46,886] [INFO] (root) - Working on series, instance UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", + "[2025-01-29 14:41:46,887] [INFO] (root) - On attribute: 'StudyDescription' to match value: '(.*?)'\n", + "[2025-01-29 14:41:46,888] [INFO] (root) - Series attribute StudyDescription value: CT ABDOMEN W IV CONTRAST\n", + "[2025-01-29 14:41:46,889] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:41:46,890] [INFO] (root) - On attribute: 'Modality' to match value: '(?i)CT'\n", + "[2025-01-29 14:41:46,891] [INFO] (root) - Series attribute Modality value: CT\n", + "[2025-01-29 14:41:46,892] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:41:46,893] [INFO] (root) - On attribute: 'SeriesDescription' to match value: '(.*?)'\n", + "[2025-01-29 14:41:46,894] [INFO] (root) - Series attribute SeriesDescription value: ABD/PANC 3.0 B31f\n", + "[2025-01-29 14:41:46,895] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:41:46,897] [INFO] (root) - Selected Series, UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", + "[2025-01-29 14:41:47,361] [INFO] (root) - Parsing from bundle_path: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models/model/model.ts\n", "/home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages/monai/bundle/reference_resolver.py:216: UserWarning: Detected deprecated name 'optional_packages_version' in configuration file, replacing with 'required_packages_version'.\n", " warnings.warn(\n" ] @@ -661,7 +661,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8f60e4eaaf3b4902941c9adbdbb26efc", + "model_id": "26dacc25a4e94b69ab54eca02db67039", "version_major": 2, "version_minor": 0 }, @@ -676,25 +676,25 @@ "name": "stderr", "output_type": "stream", "text": [ - "[2025-01-16 18:38:52,008] [INFO] (monai.deploy.operators.stl_conversion_operator.STLConversionOperator) - Output will be saved in file output/stl/spleen.stl.\n", - "[2025-01-16 18:38:53,980] [INFO] (monai.deploy.operators.stl_conversion_operator.SpatialImage) - 3D image\n", - "[2025-01-16 18:38:53,982] [INFO] (monai.deploy.operators.stl_conversion_operator.STLConverter) - Image ndarray shape:(204, 512, 512)\n", + "[2025-01-29 14:41:58,112] [INFO] (monai.deploy.operators.stl_conversion_operator.STLConversionOperator) - Output will be saved in file output/stl/spleen.stl.\n", + "[2025-01-29 14:42:00,510] [INFO] (monai.deploy.operators.stl_conversion_operator.SpatialImage) - 3D image\n", + "[2025-01-29 14:42:00,512] [INFO] (monai.deploy.operators.stl_conversion_operator.STLConverter) - Image ndarray shape:(204, 512, 512)\n", "/home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages/highdicom/base.py:163: UserWarning: The string \"C3N-00198\" is unlikely to represent the intended person name since it contains only a single component. Construct a person name according to the format in described in https://dicom.nema.org/dicom/2013/output/chtml/part05/sect_6.2.html#sect_6.2.1.2, or, in pydicom 2.2.0 or later, use the pydicom.valuerep.PersonName.from_named_components() method to construct the person name correctly. If a single-component name is really intended, add a trailing caret character to disambiguate the name.\n", " check_person_name(patient_name)\n", - "[2025-01-16 18:39:05,570] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 18:39:05,571] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", - "[2025-01-16 18:39:05,572] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 18:39:05,573] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", - "[2025-01-16 18:39:05,575] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", - "[2025-01-16 18:39:05,576] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 18:39:05,577] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", - "[2025-01-16 18:39:05,579] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", - "[2025-01-16 18:39:05,580] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", + "[2025-01-29 14:42:15,314] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:42:15,315] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", + "[2025-01-29 14:42:15,316] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:42:15,317] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", + "[2025-01-29 14:42:15,319] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", + "[2025-01-29 14:42:15,320] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:42:15,322] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", + "[2025-01-29 14:42:15,323] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", + "[2025-01-29 14:42:15,324] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", "[info] [greedy_scheduler.cpp:372] Scheduler stopped: Some entities are waiting for execution, but there are no periodic or async entities to get out of the deadlock.\n", "[info] [greedy_scheduler.cpp:401] Scheduler finished.\n", - "[info] [gxf_executor.cpp:2213] Deactivating Graph...\n", - "[info] [gxf_executor.cpp:2221] Graph execution finished.\n", - "[2025-01-16 18:39:05,702] [INFO] (__main__.AISpleenSegApp) - End run\n" + "[info] [gxf_executor.cpp:2243] Deactivating Graph...\n", + "[info] [gxf_executor.cpp:2251] Graph execution finished.\n", + "[2025-01-29 14:42:15,492] [INFO] (__main__.AISpleenSegApp) - End run\n" ] } ], @@ -999,64 +999,64 @@ "name": "stdout", "output_type": "stream", "text": [ - "[\u001b[32minfo\u001b[m] [fragment.cpp:588] Loading extensions from configs...\n", - "[2025-01-16 18:39:12,216] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=['my_app'])\n", - "[2025-01-16 18:39:12,218] [INFO] (root) - AppContext object: AppContext(input_path=dcm, output_path=output, model_path=models, workdir=)\n", - "[2025-01-16 18:39:12,220] [INFO] (root) - End compose\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:262] Creating context\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'input_folder'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'dicom_study_list'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'study_selected_series_list'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'image'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'seg_image'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'image'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'output_file'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'image'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'output_folder'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'study_selected_series_list'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'seg_image'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2178] Activating Graph...\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2208] Running Graph...\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2210] Waiting for completion...\n", + "[\u001b[32minfo\u001b[m] [fragment.cpp:599] Loading extensions from configs...\n", + "[2025-01-29 14:42:26,898] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=['my_app'])\n", + "[2025-01-29 14:42:26,901] [INFO] (root) - AppContext object: AppContext(input_path=dcm, output_path=output, model_path=models, workdir=)\n", + "[2025-01-29 14:42:26,904] [INFO] (root) - End compose\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:264] Creating context\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'input_folder'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'dicom_study_list'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'seg_image'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'output_file'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'output_folder'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'seg_image'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2208] Activating Graph...\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2238] Running Graph...\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2240] Waiting for completion...\n", "[\u001b[32minfo\u001b[m] [greedy_scheduler.cpp:191] Scheduling 7 entities\n", - "[2025-01-16 18:39:12,231] [INFO] (monai.deploy.operators.dicom_data_loader_operator.DICOMDataLoaderOperator) - No or invalid input path from the optional input port: None\n", - "[2025-01-16 18:39:12,884] [INFO] (root) - Finding series for Selection named: CT Series\n", - "[2025-01-16 18:39:12,884] [INFO] (root) - Searching study, : 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291\n", + "[2025-01-29 14:42:26,976] [INFO] (monai.deploy.operators.dicom_data_loader_operator.DICOMDataLoaderOperator) - No or invalid input path from the optional input port: None\n", + "[2025-01-29 14:42:27,963] [INFO] (root) - Finding series for Selection named: CT Series\n", + "[2025-01-29 14:42:27,963] [INFO] (root) - Searching study, : 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291\n", " # of series: 1\n", - "[2025-01-16 18:39:12,884] [INFO] (root) - Working on series, instance UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", - "[2025-01-16 18:39:12,884] [INFO] (root) - On attribute: 'StudyDescription' to match value: '(.*?)'\n", - "[2025-01-16 18:39:12,885] [INFO] (root) - Series attribute StudyDescription value: CT ABDOMEN W IV CONTRAST\n", - "[2025-01-16 18:39:12,885] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 18:39:12,885] [INFO] (root) - On attribute: 'Modality' to match value: '(?i)CT'\n", - "[2025-01-16 18:39:12,885] [INFO] (root) - Series attribute Modality value: CT\n", - "[2025-01-16 18:39:12,885] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 18:39:12,885] [INFO] (root) - On attribute: 'SeriesDescription' to match value: '(.*?)'\n", - "[2025-01-16 18:39:12,885] [INFO] (root) - Series attribute SeriesDescription value: ABD/PANC 3.0 B31f\n", - "[2025-01-16 18:39:12,885] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 18:39:12,885] [INFO] (root) - Selected Series, UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", - "[2025-01-16 18:39:13,178] [INFO] (root) - Parsing from bundle_path: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models/model/model.ts\n", + "[2025-01-29 14:42:27,963] [INFO] (root) - Working on series, instance UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", + "[2025-01-29 14:42:27,964] [INFO] (root) - On attribute: 'StudyDescription' to match value: '(.*?)'\n", + "[2025-01-29 14:42:27,964] [INFO] (root) - Series attribute StudyDescription value: CT ABDOMEN W IV CONTRAST\n", + "[2025-01-29 14:42:27,964] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:42:27,964] [INFO] (root) - On attribute: 'Modality' to match value: '(?i)CT'\n", + "[2025-01-29 14:42:27,964] [INFO] (root) - Series attribute Modality value: CT\n", + "[2025-01-29 14:42:27,964] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:42:27,964] [INFO] (root) - On attribute: 'SeriesDescription' to match value: '(.*?)'\n", + "[2025-01-29 14:42:27,964] [INFO] (root) - Series attribute SeriesDescription value: ABD/PANC 3.0 B31f\n", + "[2025-01-29 14:42:27,964] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:42:27,964] [INFO] (root) - Selected Series, UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", + "[2025-01-29 14:42:28,237] [INFO] (root) - Parsing from bundle_path: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models/model/model.ts\n", "/home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages/monai/bundle/reference_resolver.py:216: UserWarning: Detected deprecated name 'optional_packages_version' in configuration file, replacing with 'required_packages_version'.\n", " warnings.warn(\n", "Box(children=(Widget(), VBox(children=(interactive(children=(Dropdown(description='View mode', index=2, options=(('Cinematic', 'CINEMATIC'), ('Slice', 'SLICE'), ('Slice Segmentation', 'SLICE_SEGMENTATION')), value='SLICE_SEGMENTATION'), Output()), _dom_classes=('widget-interact',)), interactive(children=(Dropdown(description='Camera', options=('Top', 'Right', 'Front'), value='Top'), Output()), _dom_classes=('widget-interact',))))))\n", - "[2025-01-16 18:39:22,788] [INFO] (monai.deploy.operators.stl_conversion_operator.STLConversionOperator) - Output will be saved in file output/stl/spleen.stl.\n", - "[2025-01-16 18:39:24,665] [INFO] (monai.deploy.operators.stl_conversion_operator.SpatialImage) - 3D image\n", - "[2025-01-16 18:39:24,665] [INFO] (monai.deploy.operators.stl_conversion_operator.STLConverter) - Image ndarray shape:(204, 512, 512)\n", + "[2025-01-29 14:42:39,484] [INFO] (monai.deploy.operators.stl_conversion_operator.STLConversionOperator) - Output will be saved in file output/stl/spleen.stl.\n", + "[2025-01-29 14:42:41,141] [INFO] (monai.deploy.operators.stl_conversion_operator.SpatialImage) - 3D image\n", + "[2025-01-29 14:42:41,141] [INFO] (monai.deploy.operators.stl_conversion_operator.STLConverter) - Image ndarray shape:(204, 512, 512)\n", "/home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages/highdicom/base.py:163: UserWarning: The string \"C3N-00198\" is unlikely to represent the intended person name since it contains only a single component. Construct a person name according to the format in described in https://dicom.nema.org/dicom/2013/output/chtml/part05/sect_6.2.html#sect_6.2.1.2, or, in pydicom 2.2.0 or later, use the pydicom.valuerep.PersonName.from_named_components() method to construct the person name correctly. If a single-component name is really intended, add a trailing caret character to disambiguate the name.\n", " check_person_name(patient_name)\n", - "[2025-01-16 18:39:36,021] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 18:39:36,021] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", - "[2025-01-16 18:39:36,021] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 18:39:36,021] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", - "[2025-01-16 18:39:36,021] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", - "[2025-01-16 18:39:36,021] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 18:39:36,022] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", - "[2025-01-16 18:39:36,022] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", - "[2025-01-16 18:39:36,022] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", + "[2025-01-29 14:43:05,321] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:43:05,322] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", + "[2025-01-29 14:43:05,322] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:43:05,322] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", + "[2025-01-29 14:43:05,323] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", + "[2025-01-29 14:43:05,323] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:43:05,323] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", + "[2025-01-29 14:43:05,323] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", + "[2025-01-29 14:43:05,323] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", "[\u001b[32minfo\u001b[m] [greedy_scheduler.cpp:372] Scheduler stopped: Some entities are waiting for execution, but there are no periodic or async entities to get out of the deadlock.\n", "[\u001b[32minfo\u001b[m] [greedy_scheduler.cpp:401] Scheduler finished.\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2213] Deactivating Graph...\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2221] Graph execution finished.\n", - "[2025-01-16 18:39:36,148] [INFO] (app.AISpleenSegApp) - End run\n" + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2243] Deactivating Graph...\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2251] Graph execution finished.\n", + "[2025-01-29 14:43:05,475] [INFO] (app.AISpleenSegApp) - End run\n" ] } ], @@ -1074,7 +1074,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "1.2.826.0.1.3680043.10.511.3.7381661622403430418697652288923425.dcm stl\n" + "1.2.826.0.1.3680043.10.511.3.78800183556923650623335517776550758.dcm stl\n" ] } ], diff --git a/notebooks/tutorials/04_monai_bundle_app.ipynb b/notebooks/tutorials/04_monai_bundle_app.ipynb index 88f5ddcc..4dccc832 100644 --- a/notebooks/tutorials/04_monai_bundle_app.ipynb +++ b/notebooks/tutorials/04_monai_bundle_app.ipynb @@ -358,7 +358,7 @@ "# After downloading ai_spleen_bundle_data zip file from the web browser or using gdown,\n", "!unzip -o \"ai_spleen_seg_bundle_data.zip\"\n", "\n", - "# Need to copy the model.ts file to its own clean subfolder for pacakging, to workaround an issue in the Packager\n", + "# Need to copy the model.ts file to its own clean subfolder for packaging, to workaround an issue in the Packager\n", "models_folder = \"models\"\n", "!rm -rf {models_folder} && mkdir -p {models_folder}/model && cp model.ts {models_folder}/model && ls {models_folder}/model" ] @@ -612,62 +612,62 @@ "name": "stderr", "output_type": "stream", "text": [ - "[info] [fragment.cpp:588] Loading extensions from configs...\n", - "[2025-01-16 18:46:54,471] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=[])\n", - "[2025-01-16 18:46:54,485] [INFO] (root) - AppContext object: AppContext(input_path=dcm, output_path=output, model_path=models, workdir=)\n", - "[2025-01-16 18:46:54,496] [INFO] (root) - End compose\n", - "[info] [gxf_executor.cpp:262] Creating context\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'input_folder'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'dicom_study_list'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'study_selected_series_list'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'image'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'output_file'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'image'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'output_folder'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'study_selected_series_list'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'seg_image'\n", - "[info] [gxf_executor.cpp:2178] Activating Graph...\n", - "[info] [gxf_executor.cpp:2208] Running Graph...\n", - "[info] [gxf_executor.cpp:2210] Waiting for completion...\n", + "[info] [fragment.cpp:599] Loading extensions from configs...\n", + "[2025-01-29 14:44:44,206] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=[])\n", + "[2025-01-29 14:44:44,212] [INFO] (root) - AppContext object: AppContext(input_path=dcm, output_path=output, model_path=models, workdir=)\n", + "[2025-01-29 14:44:44,222] [INFO] (root) - End compose\n", + "[info] [gxf_executor.cpp:264] Creating context\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'input_folder'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'dicom_study_list'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'output_file'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'output_folder'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'seg_image'\n", + "[info] [gxf_executor.cpp:2208] Activating Graph...\n", + "[info] [gxf_executor.cpp:2238] Running Graph...\n", + "[info] [gxf_executor.cpp:2240] Waiting for completion...\n", "[info] [greedy_scheduler.cpp:191] Scheduling 6 entities\n", - "[2025-01-16 18:46:54,518] [INFO] (monai.deploy.operators.dicom_data_loader_operator.DICOMDataLoaderOperator) - No or invalid input path from the optional input port: None\n", - "[2025-01-16 18:46:54,871] [INFO] (root) - Finding series for Selection named: CT Series\n", - "[2025-01-16 18:46:54,872] [INFO] (root) - Searching study, : 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291\n", + "[2025-01-29 14:44:44,263] [INFO] (monai.deploy.operators.dicom_data_loader_operator.DICOMDataLoaderOperator) - No or invalid input path from the optional input port: None\n", + "[2025-01-29 14:44:44,616] [INFO] (root) - Finding series for Selection named: CT Series\n", + "[2025-01-29 14:44:44,617] [INFO] (root) - Searching study, : 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291\n", " # of series: 1\n", - "[2025-01-16 18:46:54,873] [INFO] (root) - Working on series, instance UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", - "[2025-01-16 18:46:54,874] [INFO] (root) - On attribute: 'StudyDescription' to match value: '(.*?)'\n", - "[2025-01-16 18:46:54,875] [INFO] (root) - Series attribute StudyDescription value: CT ABDOMEN W IV CONTRAST\n", - "[2025-01-16 18:46:54,877] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 18:46:54,878] [INFO] (root) - On attribute: 'Modality' to match value: '(?i)CT'\n", - "[2025-01-16 18:46:54,880] [INFO] (root) - Series attribute Modality value: CT\n", - "[2025-01-16 18:46:54,882] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 18:46:54,883] [INFO] (root) - On attribute: 'SeriesDescription' to match value: '(.*?)'\n", - "[2025-01-16 18:46:54,883] [INFO] (root) - Series attribute SeriesDescription value: ABD/PANC 3.0 B31f\n", - "[2025-01-16 18:46:54,884] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 18:46:54,886] [INFO] (root) - Selected Series, UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", - "[2025-01-16 18:46:55,228] [INFO] (root) - Parsing from bundle_path: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models/model/model.ts\n", + "[2025-01-29 14:44:44,618] [INFO] (root) - Working on series, instance UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", + "[2025-01-29 14:44:44,618] [INFO] (root) - On attribute: 'StudyDescription' to match value: '(.*?)'\n", + "[2025-01-29 14:44:44,619] [INFO] (root) - Series attribute StudyDescription value: CT ABDOMEN W IV CONTRAST\n", + "[2025-01-29 14:44:44,620] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:44:44,621] [INFO] (root) - On attribute: 'Modality' to match value: '(?i)CT'\n", + "[2025-01-29 14:44:44,622] [INFO] (root) - Series attribute Modality value: CT\n", + "[2025-01-29 14:44:44,623] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:44:44,627] [INFO] (root) - On attribute: 'SeriesDescription' to match value: '(.*?)'\n", + "[2025-01-29 14:44:44,629] [INFO] (root) - Series attribute SeriesDescription value: ABD/PANC 3.0 B31f\n", + "[2025-01-29 14:44:44,630] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:44:44,632] [INFO] (root) - Selected Series, UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", + "[2025-01-29 14:44:45,069] [INFO] (root) - Parsing from bundle_path: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models/model/model.ts\n", "/home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages/monai/bundle/reference_resolver.py:216: UserWarning: Detected deprecated name 'optional_packages_version' in configuration file, replacing with 'required_packages_version'.\n", " warnings.warn(\n", - "[2025-01-16 18:46:58,310] [INFO] (monai.deploy.operators.stl_conversion_operator.STLConversionOperator) - Output will be saved in file output/stl/spleen.stl.\n", - "[2025-01-16 18:47:00,011] [INFO] (monai.deploy.operators.stl_conversion_operator.SpatialImage) - 3D image\n", - "[2025-01-16 18:47:00,012] [INFO] (monai.deploy.operators.stl_conversion_operator.STLConverter) - Image ndarray shape:(204, 512, 512)\n", + "[2025-01-29 14:44:48,663] [INFO] (monai.deploy.operators.stl_conversion_operator.STLConversionOperator) - Output will be saved in file output/stl/spleen.stl.\n", + "[2025-01-29 14:44:50,440] [INFO] (monai.deploy.operators.stl_conversion_operator.SpatialImage) - 3D image\n", + "[2025-01-29 14:44:50,441] [INFO] (monai.deploy.operators.stl_conversion_operator.STLConverter) - Image ndarray shape:(204, 512, 512)\n", "/home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages/highdicom/base.py:163: UserWarning: The string \"C3N-00198\" is unlikely to represent the intended person name since it contains only a single component. Construct a person name according to the format in described in https://dicom.nema.org/dicom/2013/output/chtml/part05/sect_6.2.html#sect_6.2.1.2, or, in pydicom 2.2.0 or later, use the pydicom.valuerep.PersonName.from_named_components() method to construct the person name correctly. If a single-component name is really intended, add a trailing caret character to disambiguate the name.\n", " check_person_name(patient_name)\n", - "[2025-01-16 18:47:11,502] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 18:47:11,503] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", - "[2025-01-16 18:47:11,504] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 18:47:11,505] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", - "[2025-01-16 18:47:11,507] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", - "[2025-01-16 18:47:11,507] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 18:47:11,509] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", - "[2025-01-16 18:47:11,510] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", - "[2025-01-16 18:47:11,512] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", + "[2025-01-29 14:45:02,816] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:45:02,817] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", + "[2025-01-29 14:45:02,819] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:45:02,821] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", + "[2025-01-29 14:45:02,824] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", + "[2025-01-29 14:45:02,827] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:45:02,829] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", + "[2025-01-29 14:45:02,832] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", + "[2025-01-29 14:45:02,836] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", "[info] [greedy_scheduler.cpp:372] Scheduler stopped: Some entities are waiting for execution, but there are no periodic or async entities to get out of the deadlock.\n", "[info] [greedy_scheduler.cpp:401] Scheduler finished.\n", - "[info] [gxf_executor.cpp:2213] Deactivating Graph...\n", - "[info] [gxf_executor.cpp:2221] Graph execution finished.\n", - "[2025-01-16 18:47:11,627] [INFO] (__main__.AISpleenSegApp) - End run\n", - "[2025-01-16 18:47:11,628] [INFO] (root) - End __main__\n" + "[info] [gxf_executor.cpp:2243] Deactivating Graph...\n", + "[info] [gxf_executor.cpp:2251] Graph execution finished.\n", + "[2025-01-29 14:45:03,007] [INFO] (__main__.AISpleenSegApp) - End run\n", + "[2025-01-29 14:45:03,009] [INFO] (root) - End __main__\n" ] } ], @@ -968,61 +968,61 @@ "name": "stdout", "output_type": "stream", "text": [ - "[\u001b[32minfo\u001b[m] [fragment.cpp:588] Loading extensions from configs...\n", - "[2025-01-16 18:47:18,173] [INFO] (root) - Parsed args: Namespace(log_level=None, input=PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/dcm'), output=PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output'), model=PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models'), workdir=None, argv=['my_app', '-i', 'dcm', '-o', 'output', '-m', 'models'])\n", - "[2025-01-16 18:47:18,176] [INFO] (root) - AppContext object: AppContext(input_path=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/dcm, output_path=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output, model_path=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models, workdir=)\n", - "[2025-01-16 18:47:18,178] [INFO] (root) - End compose\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:262] Creating context\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'input_folder'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'dicom_study_list'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'study_selected_series_list'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'image'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'output_file'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'image'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'output_folder'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'study_selected_series_list'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'seg_image'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2178] Activating Graph...\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2208] Running Graph...\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2210] Waiting for completion...\n", + "[\u001b[32minfo\u001b[m] [fragment.cpp:599] Loading extensions from configs...\n", + "[2025-01-29 14:45:09,784] [INFO] (root) - Parsed args: Namespace(log_level=None, input=PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/dcm'), output=PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output'), model=PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models'), workdir=None, argv=['my_app', '-i', 'dcm', '-o', 'output', '-m', 'models'])\n", + "[2025-01-29 14:45:09,786] [INFO] (root) - AppContext object: AppContext(input_path=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/dcm, output_path=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output, model_path=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models, workdir=)\n", + "[2025-01-29 14:45:09,788] [INFO] (root) - End compose\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:264] Creating context\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'input_folder'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'dicom_study_list'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'output_file'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'output_folder'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'seg_image'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2208] Activating Graph...\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2238] Running Graph...\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2240] Waiting for completion...\n", "[\u001b[32minfo\u001b[m] [greedy_scheduler.cpp:191] Scheduling 6 entities\n", - "[2025-01-16 18:47:18,189] [INFO] (monai.deploy.operators.dicom_data_loader_operator.DICOMDataLoaderOperator) - No or invalid input path from the optional input port: None\n", - "[2025-01-16 18:47:18,786] [INFO] (root) - Finding series for Selection named: CT Series\n", - "[2025-01-16 18:47:18,786] [INFO] (root) - Searching study, : 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291\n", + "[2025-01-29 14:45:09,806] [INFO] (monai.deploy.operators.dicom_data_loader_operator.DICOMDataLoaderOperator) - No or invalid input path from the optional input port: None\n", + "[2025-01-29 14:45:10,337] [INFO] (root) - Finding series for Selection named: CT Series\n", + "[2025-01-29 14:45:10,338] [INFO] (root) - Searching study, : 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291\n", " # of series: 1\n", - "[2025-01-16 18:47:18,786] [INFO] (root) - Working on series, instance UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", - "[2025-01-16 18:47:18,786] [INFO] (root) - On attribute: 'StudyDescription' to match value: '(.*?)'\n", - "[2025-01-16 18:47:18,786] [INFO] (root) - Series attribute StudyDescription value: CT ABDOMEN W IV CONTRAST\n", - "[2025-01-16 18:47:18,787] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 18:47:18,787] [INFO] (root) - On attribute: 'Modality' to match value: '(?i)CT'\n", - "[2025-01-16 18:47:18,787] [INFO] (root) - Series attribute Modality value: CT\n", - "[2025-01-16 18:47:18,787] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 18:47:18,787] [INFO] (root) - On attribute: 'SeriesDescription' to match value: '(.*?)'\n", - "[2025-01-16 18:47:18,787] [INFO] (root) - Series attribute SeriesDescription value: ABD/PANC 3.0 B31f\n", - "[2025-01-16 18:47:18,787] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 18:47:18,787] [INFO] (root) - Selected Series, UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", - "[2025-01-16 18:47:19,100] [INFO] (root) - Parsing from bundle_path: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models/model/model.ts\n", + "[2025-01-29 14:45:10,338] [INFO] (root) - Working on series, instance UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", + "[2025-01-29 14:45:10,338] [INFO] (root) - On attribute: 'StudyDescription' to match value: '(.*?)'\n", + "[2025-01-29 14:45:10,338] [INFO] (root) - Series attribute StudyDescription value: CT ABDOMEN W IV CONTRAST\n", + "[2025-01-29 14:45:10,338] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:45:10,338] [INFO] (root) - On attribute: 'Modality' to match value: '(?i)CT'\n", + "[2025-01-29 14:45:10,338] [INFO] (root) - Series attribute Modality value: CT\n", + "[2025-01-29 14:45:10,338] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:45:10,338] [INFO] (root) - On attribute: 'SeriesDescription' to match value: '(.*?)'\n", + "[2025-01-29 14:45:10,338] [INFO] (root) - Series attribute SeriesDescription value: ABD/PANC 3.0 B31f\n", + "[2025-01-29 14:45:10,338] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:45:10,338] [INFO] (root) - Selected Series, UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", + "[2025-01-29 14:45:10,638] [INFO] (root) - Parsing from bundle_path: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models/model/model.ts\n", "/home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages/monai/bundle/reference_resolver.py:216: UserWarning: Detected deprecated name 'optional_packages_version' in configuration file, replacing with 'required_packages_version'.\n", " warnings.warn(\n", - "[2025-01-16 18:47:22,311] [INFO] (monai.deploy.operators.stl_conversion_operator.STLConversionOperator) - Output will be saved in file /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output/stl/spleen.stl.\n", - "[2025-01-16 18:47:24,084] [INFO] (monai.deploy.operators.stl_conversion_operator.SpatialImage) - 3D image\n", - "[2025-01-16 18:47:24,084] [INFO] (monai.deploy.operators.stl_conversion_operator.STLConverter) - Image ndarray shape:(204, 512, 512)\n", + "[2025-01-29 14:45:14,192] [INFO] (monai.deploy.operators.stl_conversion_operator.STLConversionOperator) - Output will be saved in file /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/output/stl/spleen.stl.\n", + "[2025-01-29 14:45:15,947] [INFO] (monai.deploy.operators.stl_conversion_operator.SpatialImage) - 3D image\n", + "[2025-01-29 14:45:15,947] [INFO] (monai.deploy.operators.stl_conversion_operator.STLConverter) - Image ndarray shape:(204, 512, 512)\n", "/home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages/highdicom/base.py:163: UserWarning: The string \"C3N-00198\" is unlikely to represent the intended person name since it contains only a single component. Construct a person name according to the format in described in https://dicom.nema.org/dicom/2013/output/chtml/part05/sect_6.2.html#sect_6.2.1.2, or, in pydicom 2.2.0 or later, use the pydicom.valuerep.PersonName.from_named_components() method to construct the person name correctly. If a single-component name is really intended, add a trailing caret character to disambiguate the name.\n", " check_person_name(patient_name)\n", - "[2025-01-16 18:47:35,855] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 18:47:35,855] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", - "[2025-01-16 18:47:35,855] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 18:47:35,855] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", - "[2025-01-16 18:47:35,856] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", - "[2025-01-16 18:47:35,856] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 18:47:35,856] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", - "[2025-01-16 18:47:35,856] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", - "[2025-01-16 18:47:35,856] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", + "[2025-01-29 14:45:28,343] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:45:28,343] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", + "[2025-01-29 14:45:28,343] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:45:28,343] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", + "[2025-01-29 14:45:28,344] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", + "[2025-01-29 14:45:28,344] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:45:28,344] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", + "[2025-01-29 14:45:28,344] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", + "[2025-01-29 14:45:28,344] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", "[\u001b[32minfo\u001b[m] [greedy_scheduler.cpp:372] Scheduler stopped: Some entities are waiting for execution, but there are no periodic or async entities to get out of the deadlock.\n", "[\u001b[32minfo\u001b[m] [greedy_scheduler.cpp:401] Scheduler finished.\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2213] Deactivating Graph...\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2221] Graph execution finished.\n", - "[2025-01-16 18:47:35,968] [INFO] (app.AISpleenSegApp) - End run\n" + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2243] Deactivating Graph...\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2251] Graph execution finished.\n", + "[2025-01-29 14:45:28,464] [INFO] (app.AISpleenSegApp) - End run\n" ] } ], @@ -1040,7 +1040,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "1.2.826.0.1.3680043.10.511.3.62575937391603140773834509092916100.dcm stl\n" + "1.2.826.0.1.3680043.10.511.3.48925922417984937382434580199910089.dcm stl\n" ] } ], @@ -1115,7 +1115,7 @@ "numpy-stl>=2.12.0\n", "trimesh>=3.8.11\n", "torch>=1.12.0\n", - "holoscan==2.6.0 # avoid v2.7 and v2.8 for a known issue" + "holoscan>=2.9.0 # avoid v2.7 and v2.8 for a known issue" ] }, { @@ -1138,16 +1138,16 @@ "name": "stdout", "output_type": "stream", "text": [ - "[2025-01-16 18:47:38,758] [INFO] (common) - Downloading CLI manifest file...\n", - "[2025-01-16 18:47:39,137] [DEBUG] (common) - Validating CLI manifest file...\n", - "[2025-01-16 18:47:39,138] [INFO] (packager.parameters) - Application: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/my_app\n", - "[2025-01-16 18:47:39,138] [INFO] (packager.parameters) - Detected application type: Python Module\n", - "[2025-01-16 18:47:39,138] [INFO] (packager) - Scanning for models in /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models...\n", - "[2025-01-16 18:47:39,138] [DEBUG] (packager) - Model model=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models/model added.\n", - "[2025-01-16 18:47:39,138] [INFO] (packager) - Reading application configuration from /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/my_app/app.yaml...\n", - "[2025-01-16 18:47:39,142] [INFO] (packager) - Generating app.json...\n", - "[2025-01-16 18:47:39,142] [INFO] (packager) - Generating pkg.json...\n", - "[2025-01-16 18:47:39,146] [DEBUG] (common) - \n", + "[2025-01-29 14:45:31,019] [INFO] (common) - Downloading CLI manifest file...\n", + "[2025-01-29 14:45:31,266] [DEBUG] (common) - Validating CLI manifest file...\n", + "[2025-01-29 14:45:31,267] [INFO] (packager.parameters) - Application: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/my_app\n", + "[2025-01-29 14:45:31,267] [INFO] (packager.parameters) - Detected application type: Python Module\n", + "[2025-01-29 14:45:31,267] [INFO] (packager) - Scanning for models in /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models...\n", + "[2025-01-29 14:45:31,267] [DEBUG] (packager) - Model model=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/models/model added.\n", + "[2025-01-29 14:45:31,267] [INFO] (packager) - Reading application configuration from /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/my_app/app.yaml...\n", + "[2025-01-29 14:45:31,271] [INFO] (packager) - Generating app.json...\n", + "[2025-01-29 14:45:31,271] [INFO] (packager) - Generating pkg.json...\n", + "[2025-01-29 14:45:31,277] [DEBUG] (common) - \n", "=============== Begin app.json ===============\n", "{\n", " \"apiVersion\": \"1.0.0\",\n", @@ -1182,7 +1182,7 @@ "}\n", "================ End app.json ================\n", " \n", - "[2025-01-16 18:47:39,146] [DEBUG] (common) - \n", + "[2025-01-29 14:45:31,278] [DEBUG] (common) - \n", "=============== Begin pkg.json ===============\n", "{\n", " \"apiVersion\": \"1.0.0\",\n", @@ -1202,7 +1202,7 @@ "}\n", "================ End pkg.json ================\n", " \n", - "[2025-01-16 18:47:39,174] [DEBUG] (packager.builder) - \n", + "[2025-01-29 14:45:31,305] [DEBUG] (packager.builder) - \n", "========== Begin Build Parameters ==========\n", "{'additional_lib_paths': '',\n", " 'app_config_file_path': PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/my_app/app.yaml'),\n", @@ -1220,7 +1220,7 @@ " 'full_input_path': PosixPath('/var/holoscan/input'),\n", " 'full_output_path': PosixPath('/var/holoscan/output'),\n", " 'gid': 1000,\n", - " 'holoscan_sdk_version': '2.8.0',\n", + " 'holoscan_sdk_version': '2.9.0',\n", " 'includes': [],\n", " 'input_dir': 'input/',\n", " 'lib_dir': PosixPath('/opt/holoscan/lib'),\n", @@ -1244,7 +1244,7 @@ " 'working_dir': PosixPath('/var/holoscan')}\n", "=========== End Build Parameters ===========\n", "\n", - "[2025-01-16 18:47:39,174] [DEBUG] (packager.builder) - \n", + "[2025-01-29 14:45:31,305] [DEBUG] (packager.builder) - \n", "========== Begin Platform Parameters ==========\n", "{'base_image': 'nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04',\n", " 'build_image': None,\n", @@ -1254,15 +1254,15 @@ " 'custom_monai_deploy_sdk': False,\n", " 'gpu_type': 'dgpu',\n", " 'holoscan_deb_arch': 'amd64',\n", - " 'holoscan_sdk_file': '2.8.0',\n", - " 'holoscan_sdk_filename': '2.8.0',\n", + " 'holoscan_sdk_file': '2.9.0',\n", + " 'holoscan_sdk_filename': '2.9.0',\n", " 'monai_deploy_sdk_file': None,\n", " 'monai_deploy_sdk_filename': None,\n", " 'tag': 'my_app:1.0',\n", " 'target_arch': 'x86_64'}\n", "=========== End Platform Parameters ===========\n", "\n", - "[2025-01-16 18:47:39,194] [DEBUG] (packager.builder) - \n", + "[2025-01-29 14:45:31,336] [DEBUG] (packager.builder) - \n", "========== Begin Dockerfile ==========\n", "\n", "ARG GPU_TYPE=dgpu\n", @@ -1326,7 +1326,7 @@ "LABEL tag=\"my_app:1.0\"\n", "LABEL org.opencontainers.image.title=\"MONAI Deploy App Package - MONAI Bundle AI App\"\n", "LABEL org.opencontainers.image.version=\"1.0\"\n", - "LABEL org.nvidia.holoscan=\"2.8.0\"\n", + "LABEL org.nvidia.holoscan=\"2.9.0\"\n", "\n", "LABEL org.monai.deploy.app-sdk=\"2.0.0\"\n", "\n", @@ -1341,7 +1341,7 @@ "ENV HOLOSCAN_APP_MANIFEST_PATH=/etc/holoscan/app.json\n", "ENV HOLOSCAN_PKG_MANIFEST_PATH=/etc/holoscan/pkg.json\n", "ENV HOLOSCAN_LOGS_PATH=/var/holoscan/logs\n", - "ENV HOLOSCAN_VERSION=2.8.0\n", + "ENV HOLOSCAN_VERSION=2.9.0\n", "\n", "\n", "\n", @@ -1416,7 +1416,7 @@ "ENTRYPOINT [\"/var/holoscan/tools\"]\n", "=========== End Dockerfile ===========\n", "\n", - "[2025-01-16 18:47:39,195] [INFO] (packager.builder) - \n", + "[2025-01-29 14:45:31,336] [INFO] (packager.builder) - \n", "===============================================================================\n", "Building image for: x64-workstation\n", " Architecture: linux/amd64\n", @@ -1424,37 +1424,40 @@ " Build Image: N/A\n", " Cache: Enabled\n", " Configuration: dgpu\n", - " Holoscan SDK Package: 2.8.0\n", + " Holoscan SDK Package: 2.9.0\n", " MONAI Deploy App SDK Package: N/A\n", " gRPC Health Probe: N/A\n", - " SDK Version: 2.8.0\n", + " SDK Version: 2.9.0\n", " SDK: monai-deploy\n", " Tag: my_app-x64-workstation-dgpu-linux-amd64:1.0\n", " Included features/dependencies: N/A\n", " \n", - "[2025-01-16 18:47:39,716] [INFO] (common) - Using existing Docker BuildKit builder `holoscan_app_builder`\n", - "[2025-01-16 18:47:39,717] [DEBUG] (packager.builder) - Building Holoscan Application Package: tag=my_app-x64-workstation-dgpu-linux-amd64:1.0\n", + "[2025-01-29 14:45:31,944] [INFO] (common) - Using existing Docker BuildKit builder `holoscan_app_builder`\n", + "[2025-01-29 14:45:31,944] [DEBUG] (packager.builder) - Building Holoscan Application Package: tag=my_app-x64-workstation-dgpu-linux-amd64:1.0\n", "#0 building with \"holoscan_app_builder\" instance using docker-container driver\n", "\n", "#1 [internal] load build definition from Dockerfile\n", "#1 transferring dockerfile: 4.56kB done\n", "#1 DONE 0.1s\n", "\n", - "#2 [auth] nvidia/cuda:pull token for nvcr.io\n", - "#2 DONE 0.0s\n", + "#2 [internal] load metadata for nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", + "#2 ...\n", "\n", - "#3 [internal] load metadata for nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", - "#3 DONE 0.6s\n", + "#3 [auth] nvidia/cuda:pull token for nvcr.io\n", + "#3 DONE 0.0s\n", + "\n", + "#2 [internal] load metadata for nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", + "#2 DONE 0.5s\n", "\n", "#4 [internal] load .dockerignore\n", - "#4 transferring context: 1.79kB done\n", + "#4 transferring context: 1.80kB done\n", "#4 DONE 0.1s\n", "\n", - "#5 importing cache manifest from local:8380303118981959235\n", - "#5 inferred cache manifest type: application/vnd.oci.image.index.v1+json done\n", + "#5 [internal] load build context\n", "#5 DONE 0.0s\n", "\n", - "#6 [internal] load build context\n", + "#6 importing cache manifest from local:6099231199924646769\n", + "#6 inferred cache manifest type: application/vnd.oci.image.index.v1+json done\n", "#6 DONE 0.0s\n", "\n", "#7 [base 1/2] FROM nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04@sha256:22fc009e5cea0b8b91d94c99fdd419d2366810b5ea835e47b8343bc15800c186\n", @@ -1463,37 +1466,37 @@ "\n", "#8 importing cache manifest from nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", "#8 inferred cache manifest type: application/vnd.docker.distribution.manifest.list.v2+json done\n", - "#8 DONE 0.6s\n", + "#8 DONE 0.3s\n", "\n", - "#6 [internal] load build context\n", - "#6 transferring context: 19.43MB 0.2s done\n", - "#6 DONE 0.3s\n", + "#5 [internal] load build context\n", + "#5 transferring context: 19.43MB 0.2s done\n", + "#5 DONE 0.5s\n", "\n", - "#9 [release 1/18] RUN mkdir -p /etc/holoscan/ && mkdir -p /opt/holoscan/ && mkdir -p /var/holoscan && mkdir -p /opt/holoscan/app && mkdir -p /var/holoscan/input && mkdir -p /var/holoscan/output\n", + "#9 [release 7/18] COPY ./tools /var/holoscan/tools\n", "#9 CACHED\n", "\n", - "#10 [release 2/18] RUN apt update && apt-get install -y --no-install-recommends --no-install-suggests python3-minimal=3.10.6-1~22.04 libpython3-stdlib=3.10.6-1~22.04 python3=3.10.6-1~22.04 python3-venv=3.10.6-1~22.04 python3-pip=22.0.2+dfsg-* && rm -rf /var/lib/apt/lists/*\n", + "#10 [base 2/2] RUN apt-get update && apt-get install -y --no-install-recommends --no-install-suggests curl jq && rm -rf /var/lib/apt/lists/*\n", "#10 CACHED\n", "\n", - "#11 [release 3/18] RUN groupadd -f -g 1000 holoscan\n", + "#11 [release 5/18] RUN chown -R holoscan /var/holoscan && chown -R holoscan /var/holoscan/input && chown -R holoscan /var/holoscan/output\n", "#11 CACHED\n", "\n", - "#12 [release 7/18] COPY ./tools /var/holoscan/tools\n", + "#12 [release 1/18] RUN mkdir -p /etc/holoscan/ && mkdir -p /opt/holoscan/ && mkdir -p /var/holoscan && mkdir -p /opt/holoscan/app && mkdir -p /var/holoscan/input && mkdir -p /var/holoscan/output\n", "#12 CACHED\n", "\n", - "#13 [release 5/18] RUN chown -R holoscan /var/holoscan && chown -R holoscan /var/holoscan/input && chown -R holoscan /var/holoscan/output\n", + "#13 [release 3/18] RUN groupadd -f -g 1000 holoscan\n", "#13 CACHED\n", "\n", - "#14 [release 8/18] RUN chmod +x /var/holoscan/tools\n", + "#14 [release 6/18] WORKDIR /var/holoscan\n", "#14 CACHED\n", "\n", - "#15 [base 2/2] RUN apt-get update && apt-get install -y --no-install-recommends --no-install-suggests curl jq && rm -rf /var/lib/apt/lists/*\n", + "#15 [release 2/18] RUN apt update && apt-get install -y --no-install-recommends --no-install-suggests python3-minimal=3.10.6-1~22.04 libpython3-stdlib=3.10.6-1~22.04 python3=3.10.6-1~22.04 python3-venv=3.10.6-1~22.04 python3-pip=22.0.2+dfsg-* && rm -rf /var/lib/apt/lists/*\n", "#15 CACHED\n", "\n", "#16 [release 4/18] RUN useradd -rm -d /home/holoscan -s /bin/bash -g 1000 -G sudo -u 1000 holoscan\n", "#16 CACHED\n", "\n", - "#17 [release 6/18] WORKDIR /var/holoscan\n", + "#17 [release 8/18] RUN chmod +x /var/holoscan/tools\n", "#17 CACHED\n", "\n", "#18 [release 9/18] WORKDIR /var/holoscan\n", @@ -1503,289 +1506,268 @@ "#19 DONE 0.2s\n", "\n", "#20 [release 11/18] RUN pip install --upgrade pip\n", - "#20 0.934 Defaulting to user installation because normal site-packages is not writeable\n", - "#20 0.985 Requirement already satisfied: pip in /usr/lib/python3/dist-packages (22.0.2)\n", - "#20 1.174 Collecting pip\n", - "#20 1.226 Downloading pip-24.3.1-py3-none-any.whl (1.8 MB)\n", - "#20 1.292 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 29.1 MB/s eta 0:00:00\n", - "#20 1.318 Installing collected packages: pip\n", - "#20 2.288 Successfully installed pip-24.3.1\n", - "#20 DONE 2.5s\n", + "#20 1.108 Defaulting to user installation because normal site-packages is not writeable\n", + "#20 1.137 Requirement already satisfied: pip in /usr/lib/python3/dist-packages (22.0.2)\n", + "#20 1.383 Collecting pip\n", + "#20 1.456 Downloading pip-25.0-py3-none-any.whl (1.8 MB)\n", + "#20 1.577 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 15.8 MB/s eta 0:00:00\n", + "#20 1.600 Installing collected packages: pip\n", + "#20 2.543 Successfully installed pip-25.0\n", + "#20 DONE 2.8s\n", "\n", "#21 [release 12/18] RUN pip install --no-cache-dir --user -r /tmp/requirements.txt\n", - "#21 0.750 Collecting highdicom>=0.18.2 (from -r /tmp/requirements.txt (line 1))\n", - "#21 0.768 Downloading highdicom-0.23.1-py3-none-any.whl.metadata (4.6 kB)\n", - "#21 0.869 Collecting monai>=1.0 (from -r /tmp/requirements.txt (line 2))\n", - "#21 0.876 Downloading monai-1.4.0-py3-none-any.whl.metadata (11 kB)\n", - "#21 1.064 Collecting nibabel>=3.2.1 (from -r /tmp/requirements.txt (line 3))\n", - "#21 1.069 Downloading nibabel-5.3.2-py3-none-any.whl.metadata (9.1 kB)\n", - "#21 1.302 Collecting numpy>=1.21.6 (from -r /tmp/requirements.txt (line 4))\n", - "#21 1.306 Downloading numpy-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (62 kB)\n", - "#21 1.403 Collecting pydicom>=2.3.0 (from -r /tmp/requirements.txt (line 5))\n", - "#21 1.410 Downloading pydicom-3.0.1-py3-none-any.whl.metadata (9.4 kB)\n", - "#21 1.422 Requirement already satisfied: setuptools>=59.5.0 in /usr/lib/python3/dist-packages (from -r /tmp/requirements.txt (line 6)) (59.6.0)\n", - "#21 1.466 Collecting SimpleITK>=2.0.0 (from -r /tmp/requirements.txt (line 7))\n", - "#21 1.471 Downloading SimpleITK-2.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (7.9 kB)\n", - "#21 1.574 Collecting scikit-image>=0.17.2 (from -r /tmp/requirements.txt (line 8))\n", - "#21 1.582 Downloading scikit_image-0.25.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (14 kB)\n", - "#21 1.692 Collecting numpy-stl>=2.12.0 (from -r /tmp/requirements.txt (line 9))\n", - "#21 1.699 Downloading numpy_stl-3.2.0-py3-none-any.whl.metadata (18 kB)\n", - "#21 1.825 Collecting trimesh>=3.8.11 (from -r /tmp/requirements.txt (line 10))\n", - "#21 1.829 Downloading trimesh-4.5.3-py3-none-any.whl.metadata (18 kB)\n", - "#21 1.881 Collecting torch>=1.12.0 (from -r /tmp/requirements.txt (line 11))\n", - "#21 1.886 Downloading torch-2.5.1-cp310-cp310-manylinux1_x86_64.whl.metadata (28 kB)\n", - "#21 1.982 Collecting holoscan==2.6.0 (from -r /tmp/requirements.txt (line 12))\n", - "#21 1.993 Downloading holoscan-2.6.0-cp310-cp310-manylinux_2_35_x86_64.whl.metadata (7.2 kB)\n", - "#21 2.001 Requirement already satisfied: pip>22.0.2 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan==2.6.0->-r /tmp/requirements.txt (line 12)) (24.3.1)\n", - "#21 2.015 Collecting cupy-cuda12x==12.2 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 2.020 Downloading cupy_cuda12x-12.2.0-cp310-cp310-manylinux2014_x86_64.whl.metadata (2.6 kB)\n", - "#21 2.037 Collecting cloudpickle==2.2.1 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 2.042 Downloading cloudpickle-2.2.1-py3-none-any.whl.metadata (6.9 kB)\n", - "#21 2.113 Collecting python-on-whales==0.60.1 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 2.118 Downloading python_on_whales-0.60.1-py3-none-any.whl.metadata (16 kB)\n", - "#21 2.135 Collecting Jinja2==3.1.3 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 2.139 Downloading Jinja2-3.1.3-py3-none-any.whl.metadata (3.3 kB)\n", - "#21 2.161 Collecting packaging==23.1 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 2.166 Downloading packaging-23.1-py3-none-any.whl.metadata (3.1 kB)\n", - "#21 2.225 Collecting pyyaml==6.0 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 2.232 Downloading PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.metadata (2.0 kB)\n", - "#21 2.264 Collecting requests==2.31.0 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 2.268 Downloading requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)\n", - "#21 2.357 Collecting psutil==6.0.0 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 2.361 Downloading psutil-6.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (21 kB)\n", - "#21 2.444 Collecting wheel-axle-runtime<1.0 (from holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 2.452 Downloading wheel_axle_runtime-0.0.6-py3-none-any.whl.metadata (8.1 kB)\n", - "#21 2.473 Collecting numpy>=1.21.6 (from -r /tmp/requirements.txt (line 4))\n", - "#21 2.477 Downloading numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)\n", - "#21 2.548 Collecting fastrlock>=0.5 (from cupy-cuda12x==12.2->holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 2.553 Downloading fastrlock-0.8.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl.metadata (7.7 kB)\n", - "#21 2.627 Collecting MarkupSafe>=2.0 (from Jinja2==3.1.3->holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 2.631 Downloading MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)\n", - "#21 2.790 Collecting pydantic<2,>=1.5 (from python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 2.795 Downloading pydantic-1.10.21-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (153 kB)\n", - "#21 2.868 Collecting tqdm (from python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 2.878 Downloading tqdm-4.67.1-py3-none-any.whl.metadata (57 kB)\n", - "#21 2.917 Collecting typer>=0.4.1 (from python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 2.921 Downloading typer-0.15.1-py3-none-any.whl.metadata (15 kB)\n", - "#21 2.943 Collecting typing-extensions (from python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 2.947 Downloading typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)\n", - "#21 3.030 Collecting charset-normalizer<4,>=2 (from requests==2.31.0->holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 3.034 Downloading charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB)\n", - "#21 3.047 Collecting idna<4,>=2.5 (from requests==2.31.0->holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 3.050 Downloading idna-3.10-py3-none-any.whl.metadata (10 kB)\n", - "#21 3.148 Collecting urllib3<3,>=1.21.1 (from requests==2.31.0->holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 3.152 Downloading urllib3-2.3.0-py3-none-any.whl.metadata (6.5 kB)\n", - "#21 3.173 Collecting certifi>=2017.4.17 (from requests==2.31.0->holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 3.179 Downloading certifi-2024.12.14-py3-none-any.whl.metadata (2.3 kB)\n", - "#21 3.421 Collecting pillow>=8.3 (from highdicom>=0.18.2->-r /tmp/requirements.txt (line 1))\n", - "#21 3.425 Downloading pillow-11.1.0-cp310-cp310-manylinux_2_28_x86_64.whl.metadata (9.1 kB)\n", - "#21 3.529 Collecting pyjpegls>=1.0.0 (from highdicom>=0.18.2->-r /tmp/requirements.txt (line 1))\n", - "#21 3.540 Downloading pyjpegls-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.5 kB)\n", - "#21 3.617 Collecting importlib-resources>=5.12 (from nibabel>=3.2.1->-r /tmp/requirements.txt (line 3))\n", - "#21 3.621 Downloading importlib_resources-6.5.2-py3-none-any.whl.metadata (3.9 kB)\n", - "#21 3.816 Collecting scipy>=1.11.2 (from scikit-image>=0.17.2->-r /tmp/requirements.txt (line 8))\n", - "#21 3.820 Downloading scipy-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)\n", - "#21 3.866 Collecting networkx>=3.0 (from scikit-image>=0.17.2->-r /tmp/requirements.txt (line 8))\n", - "#21 3.876 Downloading networkx-3.4.2-py3-none-any.whl.metadata (6.3 kB)\n", - "#21 3.931 Collecting imageio!=2.35.0,>=2.33 (from scikit-image>=0.17.2->-r /tmp/requirements.txt (line 8))\n", - "#21 3.935 Downloading imageio-2.36.1-py3-none-any.whl.metadata (5.2 kB)\n", - "#21 4.010 Collecting tifffile>=2022.8.12 (from scikit-image>=0.17.2->-r /tmp/requirements.txt (line 8))\n", - "#21 4.013 Downloading tifffile-2025.1.10-py3-none-any.whl.metadata (31 kB)\n", - "#21 4.029 Collecting lazy-loader>=0.4 (from scikit-image>=0.17.2->-r /tmp/requirements.txt (line 8))\n", - "#21 4.034 Downloading lazy_loader-0.4-py3-none-any.whl.metadata (7.6 kB)\n", - "#21 4.055 Collecting python-utils>=3.4.5 (from numpy-stl>=2.12.0->-r /tmp/requirements.txt (line 9))\n", - "#21 4.060 Downloading python_utils-3.9.1-py2.py3-none-any.whl.metadata (9.8 kB)\n", - "#21 4.099 Collecting filelock (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", - "#21 4.104 Downloading filelock-3.16.1-py3-none-any.whl.metadata (2.9 kB)\n", - "#21 4.135 Collecting fsspec (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", - "#21 4.139 Downloading fsspec-2024.12.0-py3-none-any.whl.metadata (11 kB)\n", - "#21 4.272 Collecting nvidia-cuda-nvrtc-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", - "#21 4.276 Downloading nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "#21 4.286 Collecting nvidia-cuda-runtime-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", - "#21 4.290 Downloading nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "#21 4.307 Collecting nvidia-cuda-cupti-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", - "#21 4.311 Downloading nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", - "#21 4.328 Collecting nvidia-cudnn-cu12==9.1.0.70 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", - "#21 4.332 Downloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", - "#21 4.347 Collecting nvidia-cublas-cu12==12.4.5.8 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", - "#21 4.351 Downloading nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "#21 4.368 Collecting nvidia-cufft-cu12==11.2.1.3 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", - "#21 4.372 Downloading nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "#21 4.387 Collecting nvidia-curand-cu12==10.3.5.147 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", - "#21 4.396 Downloading nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "#21 4.420 Collecting nvidia-cusolver-cu12==11.6.1.9 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", - "#21 4.425 Downloading nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", - "#21 4.438 Collecting nvidia-cusparse-cu12==12.3.1.170 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", - "#21 4.443 Downloading nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", - "#21 4.452 Collecting nvidia-nccl-cu12==2.21.5 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", - "#21 4.456 Downloading nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl.metadata (1.8 kB)\n", - "#21 4.476 Collecting nvidia-nvtx-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", - "#21 4.484 Downloading nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.7 kB)\n", - "#21 4.500 Collecting nvidia-nvjitlink-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", - "#21 4.504 Downloading nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "#21 4.517 Collecting triton==3.1.0 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", - "#21 4.522 Downloading triton-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.3 kB)\n", - "#21 4.568 Collecting sympy==1.13.1 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", - "#21 4.573 Downloading sympy-1.13.1-py3-none-any.whl.metadata (12 kB)\n", - "#21 4.645 Collecting mpmath<1.4,>=1.1.0 (from sympy==1.13.1->torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", - "#21 4.652 Downloading mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)\n", - "#21 4.683 INFO: pip is looking at multiple versions of pyjpegls to determine which version is compatible with other requirements. This could take a while.\n", - "#21 4.684 Collecting pyjpegls>=1.0.0 (from highdicom>=0.18.2->-r /tmp/requirements.txt (line 1))\n", - "#21 4.748 Downloading pyjpegls-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.5 kB)\n", - "#21 4.756 Downloading pyjpegls-1.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.5 kB)\n", - "#21 4.831 Collecting click>=8.0.0 (from typer>=0.4.1->python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 4.834 Downloading click-8.1.8-py3-none-any.whl.metadata (2.3 kB)\n", - "#21 4.853 Collecting shellingham>=1.3.0 (from typer>=0.4.1->python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 4.857 Downloading shellingham-1.5.4-py2.py3-none-any.whl.metadata (3.5 kB)\n", - "#21 4.972 Collecting rich>=10.11.0 (from typer>=0.4.1->python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 4.976 Downloading rich-13.9.4-py3-none-any.whl.metadata (18 kB)\n", - "#21 5.025 Collecting markdown-it-py>=2.2.0 (from rich>=10.11.0->typer>=0.4.1->python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 5.029 Downloading markdown_it_py-3.0.0-py3-none-any.whl.metadata (6.9 kB)\n", - "#21 5.079 Collecting pygments<3.0.0,>=2.13.0 (from rich>=10.11.0->typer>=0.4.1->python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 5.083 Downloading pygments-2.19.1-py3-none-any.whl.metadata (2.5 kB)\n", - "#21 5.102 Collecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich>=10.11.0->typer>=0.4.1->python-on-whales==0.60.1->holoscan==2.6.0->-r /tmp/requirements.txt (line 12))\n", - "#21 5.105 Downloading mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)\n", - "#21 5.120 Downloading holoscan-2.6.0-cp310-cp310-manylinux_2_35_x86_64.whl (40.8 MB)\n", - "#21 5.523 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 40.8/40.8 MB 103.4 MB/s eta 0:00:00\n", - "#21 5.528 Downloading cloudpickle-2.2.1-py3-none-any.whl (25 kB)\n", - "#21 5.535 Downloading cupy_cuda12x-12.2.0-cp310-cp310-manylinux2014_x86_64.whl (82.0 MB)\n", - "#21 6.415 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 82.0/82.0 MB 93.6 MB/s eta 0:00:00\n", - "#21 6.420 Downloading Jinja2-3.1.3-py3-none-any.whl (133 kB)\n", - "#21 6.425 Downloading packaging-23.1-py3-none-any.whl (48 kB)\n", - "#21 6.430 Downloading psutil-6.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (290 kB)\n", - "#21 6.439 Downloading python_on_whales-0.60.1-py3-none-any.whl (103 kB)\n", - "#21 6.447 Downloading PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (682 kB)\n", - "#21 6.458 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 682.2/682.2 kB 126.7 MB/s eta 0:00:00\n", - "#21 6.467 Downloading requests-2.31.0-py3-none-any.whl (62 kB)\n", - "#21 6.477 Downloading highdicom-0.23.1-py3-none-any.whl (836 kB)\n", - "#21 6.498 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 836.4/836.4 kB 93.1 MB/s eta 0:00:00\n", - "#21 6.512 Downloading monai-1.4.0-py3-none-any.whl (1.5 MB)\n", - "#21 6.552 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 44.4 MB/s eta 0:00:00\n", - "#21 6.558 Downloading nibabel-5.3.2-py3-none-any.whl (3.3 MB)\n", - "#21 6.589 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 113.1 MB/s eta 0:00:00\n", - "#21 6.594 Downloading numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.2 MB)\n", - "#21 6.754 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.2/18.2 MB 116.9 MB/s eta 0:00:00\n", - "#21 6.761 Downloading pydicom-3.0.1-py3-none-any.whl (2.4 MB)\n", - "#21 6.782 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.4/2.4 MB 118.5 MB/s eta 0:00:00\n", - "#21 6.790 Downloading SimpleITK-2.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (52.4 MB)\n", - "#21 7.314 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 52.4/52.4 MB 102.8 MB/s eta 0:00:00\n", - "#21 7.320 Downloading scikit_image-0.25.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.8 MB)\n", - "#21 7.516 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 14.8/14.8 MB 75.8 MB/s eta 0:00:00\n", - "#21 7.521 Downloading numpy_stl-3.2.0-py3-none-any.whl (20 kB)\n", - "#21 7.529 Downloading trimesh-4.5.3-py3-none-any.whl (704 kB)\n", - "#21 7.534 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 704.8/704.8 kB 130.7 MB/s eta 0:00:00\n", - "#21 7.539 Downloading torch-2.5.1-cp310-cp310-manylinux1_x86_64.whl (906.4 MB)\n", - "#21 16.44 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 906.4/906.4 MB 93.7 MB/s eta 0:00:00\n", - "#21 16.44 Downloading nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl (363.4 MB)\n", - "#21 19.64 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 363.4/363.4 MB 115.2 MB/s eta 0:00:00\n", - "#21 19.64 Downloading nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (13.8 MB)\n", - "#21 19.77 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.8/13.8 MB 111.4 MB/s eta 0:00:00\n", - "#21 19.78 Downloading nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (24.6 MB)\n", - "#21 19.99 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.6/24.6 MB 117.3 MB/s eta 0:00:00\n", - "#21 20.00 Downloading nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (883 kB)\n", - "#21 20.01 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 883.7/883.7 kB 134.9 MB/s eta 0:00:00\n", - "#21 20.02 Downloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)\n", - "#21 25.88 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 664.8/664.8 MB 112.1 MB/s eta 0:00:00\n", - "#21 25.89 Downloading nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl (211.5 MB)\n", - "#21 27.79 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 211.5/211.5 MB 111.9 MB/s eta 0:00:00\n", - "#21 27.79 Downloading nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl (56.3 MB)\n", - "#21 28.29 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.3/56.3 MB 115.2 MB/s eta 0:00:00\n", - "#21 28.29 Downloading nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl (127.9 MB)\n", - "#21 29.48 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 127.9/127.9 MB 108.5 MB/s eta 0:00:00\n", - "#21 29.49 Downloading nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl (207.5 MB)\n", - "#21 31.41 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 207.5/207.5 MB 108.2 MB/s eta 0:00:00\n", - "#21 31.42 Downloading nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl (188.7 MB)\n", - "#21 33.22 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 188.7/188.7 MB 104.9 MB/s eta 0:00:00\n", - "#21 33.23 Downloading nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (21.1 MB)\n", - "#21 33.43 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 21.1/21.1 MB 106.2 MB/s eta 0:00:00\n", - "#21 33.44 Downloading nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (99 kB)\n", - "#21 33.45 Downloading sympy-1.13.1-py3-none-any.whl (6.2 MB)\n", - "#21 33.60 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.2/6.2 MB 39.6 MB/s eta 0:00:00\n", - "#21 33.61 Downloading triton-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (209.5 MB)\n", - "#21 35.59 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 209.5/209.5 MB 105.7 MB/s eta 0:00:00\n", - "#21 35.60 Downloading imageio-2.36.1-py3-none-any.whl (315 kB)\n", - "#21 35.61 Downloading importlib_resources-6.5.2-py3-none-any.whl (37 kB)\n", - "#21 35.61 Downloading lazy_loader-0.4-py3-none-any.whl (12 kB)\n", - "#21 35.61 Downloading networkx-3.4.2-py3-none-any.whl (1.7 MB)\n", - "#21 35.63 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 117.9 MB/s eta 0:00:00\n", - "#21 35.64 Downloading pillow-11.1.0-cp310-cp310-manylinux_2_28_x86_64.whl (4.5 MB)\n", - "#21 35.68 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.5/4.5 MB 118.4 MB/s eta 0:00:00\n", - "#21 35.70 Downloading pyjpegls-1.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB)\n", - "#21 35.72 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.7/2.7 MB 115.9 MB/s eta 0:00:00\n", - "#21 35.73 Downloading python_utils-3.9.1-py2.py3-none-any.whl (32 kB)\n", - "#21 35.73 Downloading scipy-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (40.6 MB)\n", - "#21 36.09 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 40.6/40.6 MB 113.9 MB/s eta 0:00:00\n", - "#21 36.10 Downloading tifffile-2025.1.10-py3-none-any.whl (227 kB)\n", - "#21 36.10 Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)\n", - "#21 36.11 Downloading wheel_axle_runtime-0.0.6-py3-none-any.whl (14 kB)\n", - "#21 36.12 Downloading filelock-3.16.1-py3-none-any.whl (16 kB)\n", - "#21 36.13 Downloading fsspec-2024.12.0-py3-none-any.whl (183 kB)\n", - "#21 36.13 Downloading certifi-2024.12.14-py3-none-any.whl (164 kB)\n", - "#21 36.14 Downloading charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (146 kB)\n", - "#21 36.14 Downloading fastrlock-0.8.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl (53 kB)\n", - "#21 36.14 Downloading idna-3.10-py3-none-any.whl (70 kB)\n", - "#21 36.15 Downloading MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20 kB)\n", - "#21 36.15 Downloading mpmath-1.3.0-py3-none-any.whl (536 kB)\n", - "#21 36.16 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 536.2/536.2 kB 91.2 MB/s eta 0:00:00\n", - "#21 36.17 Downloading pydantic-1.10.21-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB)\n", - "#21 36.20 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 113.2 MB/s eta 0:00:00\n", - "#21 36.20 Downloading typer-0.15.1-py3-none-any.whl (44 kB)\n", - "#21 36.21 Downloading urllib3-2.3.0-py3-none-any.whl (128 kB)\n", - "#21 36.21 Downloading tqdm-4.67.1-py3-none-any.whl (78 kB)\n", - "#21 36.22 Downloading click-8.1.8-py3-none-any.whl (98 kB)\n", - "#21 36.22 Downloading rich-13.9.4-py3-none-any.whl (242 kB)\n", - "#21 36.23 Downloading shellingham-1.5.4-py2.py3-none-any.whl (9.8 kB)\n", - "#21 36.23 Downloading markdown_it_py-3.0.0-py3-none-any.whl (87 kB)\n", - "#21 36.24 Downloading pygments-2.19.1-py3-none-any.whl (1.2 MB)\n", - "#21 36.25 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 117.2 MB/s eta 0:00:00\n", - "#21 36.25 Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)\n", - "#21 44.89 Installing collected packages: SimpleITK, mpmath, fastrlock, urllib3, typing-extensions, tqdm, sympy, shellingham, pyyaml, pygments, pydicom, psutil, pillow, packaging, nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, numpy, networkx, mdurl, MarkupSafe, importlib-resources, idna, fsspec, filelock, cloudpickle, click, charset-normalizer, certifi, wheel-axle-runtime, triton, trimesh, tifffile, scipy, requests, python-utils, pyjpegls, pydantic, nvidia-cusparse-cu12, nvidia-cudnn-cu12, nibabel, markdown-it-py, lazy-loader, Jinja2, imageio, cupy-cuda12x, scikit-image, rich, nvidia-cusolver-cu12, numpy-stl, highdicom, typer, torch, python-on-whales, monai, holoscan\n", - "#21 109.2 Successfully installed Jinja2-3.1.3 MarkupSafe-3.0.2 SimpleITK-2.4.1 certifi-2024.12.14 charset-normalizer-3.4.1 click-8.1.8 cloudpickle-2.2.1 cupy-cuda12x-12.2.0 fastrlock-0.8.3 filelock-3.16.1 fsspec-2024.12.0 highdicom-0.23.1 holoscan-2.6.0 idna-3.10 imageio-2.36.1 importlib-resources-6.5.2 lazy-loader-0.4 markdown-it-py-3.0.0 mdurl-0.1.2 monai-1.4.0 mpmath-1.3.0 networkx-3.4.2 nibabel-5.3.2 numpy-1.26.4 numpy-stl-3.2.0 nvidia-cublas-cu12-12.4.5.8 nvidia-cuda-cupti-cu12-12.4.127 nvidia-cuda-nvrtc-cu12-12.4.127 nvidia-cuda-runtime-cu12-12.4.127 nvidia-cudnn-cu12-9.1.0.70 nvidia-cufft-cu12-11.2.1.3 nvidia-curand-cu12-10.3.5.147 nvidia-cusolver-cu12-11.6.1.9 nvidia-cusparse-cu12-12.3.1.170 nvidia-nccl-cu12-2.21.5 nvidia-nvjitlink-cu12-12.4.127 nvidia-nvtx-cu12-12.4.127 packaging-23.1 pillow-11.1.0 psutil-6.0.0 pydantic-1.10.21 pydicom-3.0.1 pygments-2.19.1 pyjpegls-1.4.0 python-on-whales-0.60.1 python-utils-3.9.1 pyyaml-6.0 requests-2.31.0 rich-13.9.4 scikit-image-0.25.0 scipy-1.15.1 shellingham-1.5.4 sympy-1.13.1 tifffile-2025.1.10 torch-2.5.1 tqdm-4.67.1 trimesh-4.5.3 triton-3.1.0 typer-0.15.1 typing-extensions-4.12.2 urllib3-2.3.0 wheel-axle-runtime-0.0.6\n", - "#21 DONE 111.0s\n", + "#21 0.685 Collecting highdicom>=0.18.2 (from -r /tmp/requirements.txt (line 1))\n", + "#21 0.699 Downloading highdicom-0.24.0-py3-none-any.whl.metadata (4.7 kB)\n", + "#21 0.720 Collecting monai>=1.0 (from -r /tmp/requirements.txt (line 2))\n", + "#21 0.725 Downloading monai-1.4.0-py3-none-any.whl.metadata (11 kB)\n", + "#21 0.855 Collecting nibabel>=3.2.1 (from -r /tmp/requirements.txt (line 3))\n", + "#21 0.914 Downloading nibabel-5.3.2-py3-none-any.whl.metadata (9.1 kB)\n", + "#21 1.079 Collecting numpy>=1.21.6 (from -r /tmp/requirements.txt (line 4))\n", + "#21 1.083 Downloading numpy-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (62 kB)\n", + "#21 1.099 Collecting pydicom>=2.3.0 (from -r /tmp/requirements.txt (line 5))\n", + "#21 1.105 Downloading pydicom-3.0.1-py3-none-any.whl.metadata (9.4 kB)\n", + "#21 1.110 Requirement already satisfied: setuptools>=59.5.0 in /usr/lib/python3/dist-packages (from -r /tmp/requirements.txt (line 6)) (59.6.0)\n", + "#21 1.137 Collecting SimpleITK>=2.0.0 (from -r /tmp/requirements.txt (line 7))\n", + "#21 1.141 Downloading SimpleITK-2.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (7.9 kB)\n", + "#21 1.200 Collecting scikit-image>=0.17.2 (from -r /tmp/requirements.txt (line 8))\n", + "#21 1.205 Downloading scikit_image-0.25.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (14 kB)\n", + "#21 1.235 Collecting numpy-stl>=2.12.0 (from -r /tmp/requirements.txt (line 9))\n", + "#21 1.239 Downloading numpy_stl-3.2.0-py3-none-any.whl.metadata (18 kB)\n", + "#21 1.324 Collecting trimesh>=3.8.11 (from -r /tmp/requirements.txt (line 10))\n", + "#21 1.330 Downloading trimesh-4.6.0-py3-none-any.whl.metadata (18 kB)\n", + "#21 1.385 Collecting torch>=1.12.0 (from -r /tmp/requirements.txt (line 11))\n", + "#21 1.389 Downloading torch-2.6.0-cp310-cp310-manylinux1_x86_64.whl.metadata (28 kB)\n", + "#21 1.407 Collecting holoscan>=2.9.0 (from -r /tmp/requirements.txt (line 12))\n", + "#21 1.412 Downloading holoscan-2.9.0-cp310-cp310-manylinux_2_35_x86_64.whl.metadata (7.3 kB)\n", + "#21 1.583 Collecting pillow>=8.3 (from highdicom>=0.18.2->-r /tmp/requirements.txt (line 1))\n", + "#21 1.587 Downloading pillow-11.1.0-cp310-cp310-manylinux_2_28_x86_64.whl.metadata (9.1 kB)\n", + "#21 1.607 Collecting pyjpegls>=1.0.0 (from highdicom>=0.18.2->-r /tmp/requirements.txt (line 1))\n", + "#21 1.612 Downloading pyjpegls-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.5 kB)\n", + "#21 1.624 Collecting typing-extensions>=4.0.0 (from highdicom>=0.18.2->-r /tmp/requirements.txt (line 1))\n", + "#21 1.628 Downloading typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)\n", + "#21 1.640 Collecting numpy>=1.21.6 (from -r /tmp/requirements.txt (line 4))\n", + "#21 1.644 Downloading numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)\n", + "#21 1.675 Collecting importlib-resources>=5.12 (from nibabel>=3.2.1->-r /tmp/requirements.txt (line 3))\n", + "#21 1.680 Downloading importlib_resources-6.5.2-py3-none-any.whl.metadata (3.9 kB)\n", + "#21 1.725 Collecting packaging>=20 (from nibabel>=3.2.1->-r /tmp/requirements.txt (line 3))\n", + "#21 1.731 Downloading packaging-24.2-py3-none-any.whl.metadata (3.2 kB)\n", + "#21 1.831 Collecting scipy>=1.11.2 (from scikit-image>=0.17.2->-r /tmp/requirements.txt (line 8))\n", + "#21 1.836 Downloading scipy-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)\n", + "#21 1.860 Collecting networkx>=3.0 (from scikit-image>=0.17.2->-r /tmp/requirements.txt (line 8))\n", + "#21 1.864 Downloading networkx-3.4.2-py3-none-any.whl.metadata (6.3 kB)\n", + "#21 1.891 Collecting imageio!=2.35.0,>=2.33 (from scikit-image>=0.17.2->-r /tmp/requirements.txt (line 8))\n", + "#21 1.896 Downloading imageio-2.37.0-py3-none-any.whl.metadata (5.2 kB)\n", + "#21 1.950 Collecting tifffile>=2022.8.12 (from scikit-image>=0.17.2->-r /tmp/requirements.txt (line 8))\n", + "#21 1.953 Downloading tifffile-2025.1.10-py3-none-any.whl.metadata (31 kB)\n", + "#21 1.970 Collecting lazy-loader>=0.4 (from scikit-image>=0.17.2->-r /tmp/requirements.txt (line 8))\n", + "#21 1.974 Downloading lazy_loader-0.4-py3-none-any.whl.metadata (7.6 kB)\n", + "#21 1.992 Collecting python-utils>=3.4.5 (from numpy-stl>=2.12.0->-r /tmp/requirements.txt (line 9))\n", + "#21 1.997 Downloading python_utils-3.9.1-py2.py3-none-any.whl.metadata (9.8 kB)\n", + "#21 2.029 Collecting filelock (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", + "#21 2.033 Downloading filelock-3.17.0-py3-none-any.whl.metadata (2.9 kB)\n", + "#21 2.050 Collecting jinja2 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", + "#21 2.054 Downloading jinja2-3.1.5-py3-none-any.whl.metadata (2.6 kB)\n", + "#21 2.074 Collecting fsspec (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", + "#21 2.078 Downloading fsspec-2024.12.0-py3-none-any.whl.metadata (11 kB)\n", + "#21 2.125 Collecting nvidia-cuda-nvrtc-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", + "#21 2.129 Downloading nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 2.140 Collecting nvidia-cuda-runtime-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", + "#21 2.144 Downloading nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 2.155 Collecting nvidia-cuda-cupti-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", + "#21 2.158 Downloading nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", + "#21 2.170 Collecting nvidia-cudnn-cu12==9.1.0.70 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", + "#21 2.174 Downloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", + "#21 2.183 Collecting nvidia-cublas-cu12==12.4.5.8 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", + "#21 2.187 Downloading nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 2.198 Collecting nvidia-cufft-cu12==11.2.1.3 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", + "#21 2.202 Downloading nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 2.212 Collecting nvidia-curand-cu12==10.3.5.147 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", + "#21 2.216 Downloading nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 2.227 Collecting nvidia-cusolver-cu12==11.6.1.9 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", + "#21 2.230 Downloading nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", + "#21 2.242 Collecting nvidia-cusparse-cu12==12.3.1.170 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", + "#21 2.246 Downloading nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", + "#21 2.255 Collecting nvidia-cusparselt-cu12==0.6.2 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", + "#21 2.258 Downloading nvidia_cusparselt_cu12-0.6.2-py3-none-manylinux2014_x86_64.whl.metadata (6.8 kB)\n", + "#21 2.272 Collecting nvidia-nccl-cu12==2.21.5 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", + "#21 2.276 Downloading nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl.metadata (1.8 kB)\n", + "#21 2.293 Collecting nvidia-nvtx-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", + "#21 2.301 Downloading nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.7 kB)\n", + "#21 2.317 Collecting nvidia-nvjitlink-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", + "#21 2.322 Downloading nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 2.333 Collecting triton==3.2.0 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", + "#21 2.337 Downloading triton-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.4 kB)\n", + "#21 2.352 Collecting sympy==1.13.1 (from torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", + "#21 2.355 Downloading sympy-1.13.1-py3-none-any.whl.metadata (12 kB)\n", + "#21 2.380 Collecting mpmath<1.4,>=1.1.0 (from sympy==1.13.1->torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", + "#21 2.384 Downloading mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)\n", + "#21 2.391 Requirement already satisfied: pip>22.0.2 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 12)) (25.0)\n", + "#21 2.403 Collecting cupy-cuda12x<14.0,>=12.2 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 12))\n", + "#21 2.407 Downloading cupy_cuda12x-13.3.0-cp310-cp310-manylinux2014_x86_64.whl.metadata (2.7 kB)\n", + "#21 2.475 Collecting cloudpickle<4.0,>=3.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 12))\n", + "#21 2.479 Downloading cloudpickle-3.1.1-py3-none-any.whl.metadata (7.1 kB)\n", + "#21 2.500 Collecting python-on-whales<1.0,>=0.60.1 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 12))\n", + "#21 2.504 Downloading python_on_whales-0.75.1-py3-none-any.whl.metadata (18 kB)\n", + "#21 2.580 Collecting pyyaml<7.0,>=6.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 12))\n", + "#21 2.585 Downloading PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)\n", + "#21 2.636 Collecting requests<3.0,>=2.31.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 12))\n", + "#21 2.640 Downloading requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)\n", + "#21 2.746 Collecting psutil<7.0,>=6.0.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 12))\n", + "#21 2.750 Downloading psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (22 kB)\n", + "#21 2.761 Collecting wheel-axle-runtime<1.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 12))\n", + "#21 2.765 Downloading wheel_axle_runtime-0.0.6-py3-none-any.whl.metadata (8.1 kB)\n", + "#21 2.804 Collecting fastrlock>=0.5 (from cupy-cuda12x<14.0,>=12.2->holoscan>=2.9.0->-r /tmp/requirements.txt (line 12))\n", + "#21 2.810 Downloading fastrlock-0.8.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl.metadata (7.7 kB)\n", + "#21 2.856 Collecting MarkupSafe>=2.0 (from jinja2->torch>=1.12.0->-r /tmp/requirements.txt (line 11))\n", + "#21 2.860 Downloading MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)\n", + "#21 2.884 INFO: pip is looking at multiple versions of pyjpegls to determine which version is compatible with other requirements. This could take a while.\n", + "#21 2.885 Collecting pyjpegls>=1.0.0 (from highdicom>=0.18.2->-r /tmp/requirements.txt (line 1))\n", + "#21 2.889 Downloading pyjpegls-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.5 kB)\n", + "#21 2.896 Downloading pyjpegls-1.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.5 kB)\n", + "#21 3.012 Collecting pydantic!=2.0.*,<3,>=2 (from python-on-whales<1.0,>=0.60.1->holoscan>=2.9.0->-r /tmp/requirements.txt (line 12))\n", + "#21 3.017 Downloading pydantic-2.10.6-py3-none-any.whl.metadata (30 kB)\n", + "#21 3.106 Collecting charset-normalizer<4,>=2 (from requests<3.0,>=2.31.0->holoscan>=2.9.0->-r /tmp/requirements.txt (line 12))\n", + "#21 3.110 Downloading charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB)\n", + "#21 3.124 Collecting idna<4,>=2.5 (from requests<3.0,>=2.31.0->holoscan>=2.9.0->-r /tmp/requirements.txt (line 12))\n", + "#21 3.129 Downloading idna-3.10-py3-none-any.whl.metadata (10 kB)\n", + "#21 3.155 Collecting urllib3<3,>=1.21.1 (from requests<3.0,>=2.31.0->holoscan>=2.9.0->-r /tmp/requirements.txt (line 12))\n", + "#21 3.159 Downloading urllib3-2.3.0-py3-none-any.whl.metadata (6.5 kB)\n", + "#21 3.184 Collecting certifi>=2017.4.17 (from requests<3.0,>=2.31.0->holoscan>=2.9.0->-r /tmp/requirements.txt (line 12))\n", + "#21 3.189 Downloading certifi-2024.12.14-py3-none-any.whl.metadata (2.3 kB)\n", + "#21 3.226 Collecting annotated-types>=0.6.0 (from pydantic!=2.0.*,<3,>=2->python-on-whales<1.0,>=0.60.1->holoscan>=2.9.0->-r /tmp/requirements.txt (line 12))\n", + "#21 3.230 Downloading annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)\n", + "#21 3.817 Collecting pydantic-core==2.27.2 (from pydantic!=2.0.*,<3,>=2->python-on-whales<1.0,>=0.60.1->holoscan>=2.9.0->-r /tmp/requirements.txt (line 12))\n", + "#21 3.822 Downloading pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)\n", + "#21 3.848 Downloading highdicom-0.24.0-py3-none-any.whl (1.1 MB)\n", + "#21 3.863 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 104.9 MB/s eta 0:00:00\n", + "#21 3.868 Downloading monai-1.4.0-py3-none-any.whl (1.5 MB)\n", + "#21 3.886 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 115.5 MB/s eta 0:00:00\n", + "#21 3.896 Downloading nibabel-5.3.2-py3-none-any.whl (3.3 MB)\n", + "#21 3.928 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 116.2 MB/s eta 0:00:00\n", + "#21 3.934 Downloading numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.2 MB)\n", + "#21 4.103 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.2/18.2 MB 112.1 MB/s eta 0:00:00\n", + "#21 4.112 Downloading pydicom-3.0.1-py3-none-any.whl (2.4 MB)\n", + "#21 4.141 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.4/2.4 MB 95.7 MB/s eta 0:00:00\n", + "#21 4.151 Downloading SimpleITK-2.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (52.4 MB)\n", + "#21 4.640 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 52.4/52.4 MB 108.5 MB/s eta 0:00:00\n", + "#21 4.649 Downloading scikit_image-0.25.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.8 MB)\n", + "#21 4.803 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 14.8/14.8 MB 98.1 MB/s eta 0:00:00\n", + "#21 4.811 Downloading numpy_stl-3.2.0-py3-none-any.whl (20 kB)\n", + "#21 4.816 Downloading trimesh-4.6.0-py3-none-any.whl (706 kB)\n", + "#21 4.826 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 707.0/707.0 kB 141.2 MB/s eta 0:00:00\n", + "#21 4.833 Downloading torch-2.6.0-cp310-cp310-manylinux1_x86_64.whl (766.7 MB)\n", + "#21 12.82 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 766.7/766.7 MB 84.6 MB/s eta 0:00:00\n", + "#21 12.83 Downloading nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl (363.4 MB)\n", + "#21 15.99 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 363.4/363.4 MB 114.6 MB/s eta 0:00:00\n", + "#21 15.99 Downloading nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (13.8 MB)\n", + "#21 16.12 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.8/13.8 MB 117.7 MB/s eta 0:00:00\n", + "#21 16.13 Downloading nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (24.6 MB)\n", + "#21 16.34 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.6/24.6 MB 117.6 MB/s eta 0:00:00\n", + "#21 16.34 Downloading nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (883 kB)\n", + "#21 16.36 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 883.7/883.7 kB 127.5 MB/s eta 0:00:00\n", + "#21 16.36 Downloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)\n", + "#21 22.23 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 664.8/664.8 MB 109.9 MB/s eta 0:00:00\n", + "#21 22.24 Downloading nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl (211.5 MB)\n", + "#21 24.26 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 211.5/211.5 MB 104.8 MB/s eta 0:00:00\n", + "#21 24.27 Downloading nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl (56.3 MB)\n", + "#21 24.77 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.3/56.3 MB 114.1 MB/s eta 0:00:00\n", + "#21 24.77 Downloading nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl (127.9 MB)\n", + "#21 25.91 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 127.9/127.9 MB 112.5 MB/s eta 0:00:00\n", + "#21 25.92 Downloading nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl (207.5 MB)\n", + "#21 27.72 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 207.5/207.5 MB 115.7 MB/s eta 0:00:00\n", + "#21 27.73 Downloading nvidia_cusparselt_cu12-0.6.2-py3-none-manylinux2014_x86_64.whl (150.1 MB)\n", + "#21 29.05 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 150.1/150.1 MB 114.0 MB/s eta 0:00:00\n", + "#21 29.06 Downloading nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl (188.7 MB)\n", + "#21 30.68 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 188.7/188.7 MB 116.5 MB/s eta 0:00:00\n", + "#21 30.69 Downloading nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (21.1 MB)\n", + "#21 30.88 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 21.1/21.1 MB 117.2 MB/s eta 0:00:00\n", + "#21 30.89 Downloading nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (99 kB)\n", + "#21 30.89 Downloading sympy-1.13.1-py3-none-any.whl (6.2 MB)\n", + "#21 30.95 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.2/6.2 MB 116.5 MB/s eta 0:00:00\n", + "#21 30.96 Downloading triton-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (253.1 MB)\n", + "#21 33.49 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 253.1/253.1 MB 100.3 MB/s eta 0:00:00\n", + "#21 33.50 Downloading holoscan-2.9.0-cp310-cp310-manylinux_2_35_x86_64.whl (41.1 MB)\n", + "#21 33.96 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 41.1/41.1 MB 89.8 MB/s eta 0:00:00\n", + "#21 33.96 Downloading cloudpickle-3.1.1-py3-none-any.whl (20 kB)\n", + "#21 33.97 Downloading cupy_cuda12x-13.3.0-cp310-cp310-manylinux2014_x86_64.whl (90.6 MB)\n", + "#21 35.03 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6/90.6 MB 86.0 MB/s eta 0:00:00\n", + "#21 35.03 Downloading imageio-2.37.0-py3-none-any.whl (315 kB)\n", + "#21 35.04 Downloading importlib_resources-6.5.2-py3-none-any.whl (37 kB)\n", + "#21 35.05 Downloading jinja2-3.1.5-py3-none-any.whl (134 kB)\n", + "#21 35.05 Downloading lazy_loader-0.4-py3-none-any.whl (12 kB)\n", + "#21 35.06 Downloading networkx-3.4.2-py3-none-any.whl (1.7 MB)\n", + "#21 35.08 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 121.0 MB/s eta 0:00:00\n", + "#21 35.08 Downloading packaging-24.2-py3-none-any.whl (65 kB)\n", + "#21 35.09 Downloading pillow-11.1.0-cp310-cp310-manylinux_2_28_x86_64.whl (4.5 MB)\n", + "#21 35.13 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.5/4.5 MB 117.8 MB/s eta 0:00:00\n", + "#21 35.14 Downloading psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (287 kB)\n", + "#21 35.15 Downloading pyjpegls-1.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB)\n", + "#21 35.18 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.7/2.7 MB 117.6 MB/s eta 0:00:00\n", + "#21 35.19 Downloading python_on_whales-0.75.1-py3-none-any.whl (114 kB)\n", + "#21 35.19 Downloading python_utils-3.9.1-py2.py3-none-any.whl (32 kB)\n", + "#21 35.20 Downloading PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (751 kB)\n", + "#21 35.21 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 751.2/751.2 kB 148.8 MB/s eta 0:00:00\n", + "#21 35.21 Downloading requests-2.32.3-py3-none-any.whl (64 kB)\n", + "#21 35.22 Downloading scipy-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (40.6 MB)\n", + "#21 35.57 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 40.6/40.6 MB 117.2 MB/s eta 0:00:00\n", + "#21 35.57 Downloading tifffile-2025.1.10-py3-none-any.whl (227 kB)\n", + "#21 35.58 Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)\n", + "#21 35.59 Downloading wheel_axle_runtime-0.0.6-py3-none-any.whl (14 kB)\n", + "#21 35.59 Downloading filelock-3.17.0-py3-none-any.whl (16 kB)\n", + "#21 35.60 Downloading fsspec-2024.12.0-py3-none-any.whl (183 kB)\n", + "#21 35.60 Downloading certifi-2024.12.14-py3-none-any.whl (164 kB)\n", + "#21 35.61 Downloading charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (146 kB)\n", + "#21 35.62 Downloading fastrlock-0.8.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl (53 kB)\n", + "#21 35.62 Downloading idna-3.10-py3-none-any.whl (70 kB)\n", + "#21 35.63 Downloading MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20 kB)\n", + "#21 35.63 Downloading mpmath-1.3.0-py3-none-any.whl (536 kB)\n", + "#21 35.64 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 536.2/536.2 kB 117.8 MB/s eta 0:00:00\n", + "#21 35.64 Downloading pydantic-2.10.6-py3-none-any.whl (431 kB)\n", + "#21 35.65 Downloading pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB)\n", + "#21 35.67 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.0/2.0 MB 110.5 MB/s eta 0:00:00\n", + "#21 35.68 Downloading urllib3-2.3.0-py3-none-any.whl (128 kB)\n", + "#21 35.68 Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB)\n", + "#21 43.57 Installing collected packages: triton, SimpleITK, nvidia-cusparselt-cu12, mpmath, fastrlock, urllib3, typing-extensions, sympy, pyyaml, pydicom, psutil, pillow, packaging, nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, numpy, networkx, MarkupSafe, importlib-resources, idna, fsspec, filelock, cloudpickle, charset-normalizer, certifi, annotated-types, wheel-axle-runtime, trimesh, tifffile, scipy, requests, python-utils, pyjpegls, pydantic-core, nvidia-cusparse-cu12, nvidia-cudnn-cu12, nibabel, lazy-loader, jinja2, imageio, cupy-cuda12x, scikit-image, pydantic, nvidia-cusolver-cu12, numpy-stl, highdicom, torch, python-on-whales, monai, holoscan\n", + "#21 112.3 Successfully installed MarkupSafe-3.0.2 SimpleITK-2.4.1 annotated-types-0.7.0 certifi-2024.12.14 charset-normalizer-3.4.1 cloudpickle-3.1.1 cupy-cuda12x-13.3.0 fastrlock-0.8.3 filelock-3.17.0 fsspec-2024.12.0 highdicom-0.24.0 holoscan-2.9.0 idna-3.10 imageio-2.37.0 importlib-resources-6.5.2 jinja2-3.1.5 lazy-loader-0.4 monai-1.4.0 mpmath-1.3.0 networkx-3.4.2 nibabel-5.3.2 numpy-1.26.4 numpy-stl-3.2.0 nvidia-cublas-cu12-12.4.5.8 nvidia-cuda-cupti-cu12-12.4.127 nvidia-cuda-nvrtc-cu12-12.4.127 nvidia-cuda-runtime-cu12-12.4.127 nvidia-cudnn-cu12-9.1.0.70 nvidia-cufft-cu12-11.2.1.3 nvidia-curand-cu12-10.3.5.147 nvidia-cusolver-cu12-11.6.1.9 nvidia-cusparse-cu12-12.3.1.170 nvidia-cusparselt-cu12-0.6.2 nvidia-nccl-cu12-2.21.5 nvidia-nvjitlink-cu12-12.4.127 nvidia-nvtx-cu12-12.4.127 packaging-24.2 pillow-11.1.0 psutil-6.1.1 pydantic-2.10.6 pydantic-core-2.27.2 pydicom-3.0.1 pyjpegls-1.4.0 python-on-whales-0.75.1 python-utils-3.9.1 pyyaml-6.0.2 requests-2.32.3 scikit-image-0.25.1 scipy-1.15.1 sympy-1.13.1 tifffile-2025.1.10 torch-2.6.0 trimesh-4.6.0 triton-3.2.0 typing-extensions-4.12.2 urllib3-2.3.0 wheel-axle-runtime-0.0.6\n", + "#21 DONE 114.1s\n", "\n", "#22 [release 13/18] RUN pip install monai-deploy-app-sdk==2.0.0\n", - "#22 1.008 Defaulting to user installation because normal site-packages is not writeable\n", - "#22 1.231 Collecting monai-deploy-app-sdk==2.0.0\n", - "#22 1.245 Downloading monai_deploy_app_sdk-2.0.0-py3-none-any.whl.metadata (7.6 kB)\n", - "#22 1.265 Requirement already satisfied: numpy>=1.21.6 in /home/holoscan/.local/lib/python3.10/site-packages (from monai-deploy-app-sdk==2.0.0) (1.26.4)\n", - "#22 1.267 Requirement already satisfied: holoscan~=2.0 in /home/holoscan/.local/lib/python3.10/site-packages (from monai-deploy-app-sdk==2.0.0) (2.6.0)\n", - "#22 1.308 Collecting colorama>=0.4.1 (from monai-deploy-app-sdk==2.0.0)\n", - "#22 1.312 Downloading colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)\n", - "#22 1.411 Collecting typeguard>=3.0.0 (from monai-deploy-app-sdk==2.0.0)\n", - "#22 1.416 Downloading typeguard-4.4.1-py3-none-any.whl.metadata (3.7 kB)\n", - "#22 1.447 Requirement already satisfied: pip>22.0.2 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (24.3.1)\n", - "#22 1.448 Requirement already satisfied: cupy-cuda12x==12.2 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (12.2.0)\n", - "#22 1.449 Requirement already satisfied: cloudpickle==2.2.1 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.2.1)\n", - "#22 1.450 Requirement already satisfied: python-on-whales==0.60.1 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.60.1)\n", - "#22 1.451 Requirement already satisfied: Jinja2==3.1.3 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.1.3)\n", - "#22 1.452 Requirement already satisfied: packaging==23.1 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (23.1)\n", - "#22 1.460 Requirement already satisfied: pyyaml==6.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (6.0)\n", - "#22 1.460 Requirement already satisfied: requests==2.31.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.31.0)\n", - "#22 1.460 Requirement already satisfied: psutil==6.0.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (6.0.0)\n", - "#22 1.460 Requirement already satisfied: wheel-axle-runtime<1.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.0.6)\n", - "#22 1.461 Requirement already satisfied: fastrlock>=0.5 in /home/holoscan/.local/lib/python3.10/site-packages (from cupy-cuda12x==12.2->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.8.3)\n", - "#22 1.464 Requirement already satisfied: MarkupSafe>=2.0 in /home/holoscan/.local/lib/python3.10/site-packages (from Jinja2==3.1.3->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.0.2)\n", - "#22 1.471 Requirement already satisfied: pydantic<2,>=1.5 in /home/holoscan/.local/lib/python3.10/site-packages (from python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (1.10.21)\n", - "#22 1.471 Requirement already satisfied: tqdm in /home/holoscan/.local/lib/python3.10/site-packages (from python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (4.67.1)\n", - "#22 1.472 Requirement already satisfied: typer>=0.4.1 in /home/holoscan/.local/lib/python3.10/site-packages (from python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.15.1)\n", - "#22 1.473 Requirement already satisfied: typing-extensions in /home/holoscan/.local/lib/python3.10/site-packages (from python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (4.12.2)\n", - "#22 1.478 Requirement already satisfied: charset-normalizer<4,>=2 in /home/holoscan/.local/lib/python3.10/site-packages (from requests==2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.4.1)\n", - "#22 1.479 Requirement already satisfied: idna<4,>=2.5 in /home/holoscan/.local/lib/python3.10/site-packages (from requests==2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.10)\n", - "#22 1.480 Requirement already satisfied: urllib3<3,>=1.21.1 in /home/holoscan/.local/lib/python3.10/site-packages (from requests==2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.3.0)\n", - "#22 1.480 Requirement already satisfied: certifi>=2017.4.17 in /home/holoscan/.local/lib/python3.10/site-packages (from requests==2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2024.12.14)\n", - "#22 1.488 Requirement already satisfied: filelock in /home/holoscan/.local/lib/python3.10/site-packages (from wheel-axle-runtime<1.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.16.1)\n", - "#22 1.502 Requirement already satisfied: click>=8.0.0 in /home/holoscan/.local/lib/python3.10/site-packages (from typer>=0.4.1->python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (8.1.8)\n", - "#22 1.503 Requirement already satisfied: shellingham>=1.3.0 in /home/holoscan/.local/lib/python3.10/site-packages (from typer>=0.4.1->python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (1.5.4)\n", - "#22 1.503 Requirement already satisfied: rich>=10.11.0 in /home/holoscan/.local/lib/python3.10/site-packages (from typer>=0.4.1->python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (13.9.4)\n", - "#22 1.523 Requirement already satisfied: markdown-it-py>=2.2.0 in /home/holoscan/.local/lib/python3.10/site-packages (from rich>=10.11.0->typer>=0.4.1->python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.0.0)\n", - "#22 1.523 Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /home/holoscan/.local/lib/python3.10/site-packages (from rich>=10.11.0->typer>=0.4.1->python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.19.1)\n", - "#22 1.534 Requirement already satisfied: mdurl~=0.1 in /home/holoscan/.local/lib/python3.10/site-packages (from markdown-it-py>=2.2.0->rich>=10.11.0->typer>=0.4.1->python-on-whales==0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.1.2)\n", - "#22 1.545 Downloading monai_deploy_app_sdk-2.0.0-py3-none-any.whl (132 kB)\n", - "#22 1.567 Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n", - "#22 1.587 Downloading typeguard-4.4.1-py3-none-any.whl (35 kB)\n", - "#22 1.840 Installing collected packages: typeguard, colorama, monai-deploy-app-sdk\n", - "#22 1.998 Successfully installed colorama-0.4.6 monai-deploy-app-sdk-2.0.0 typeguard-4.4.1\n", - "#22 DONE 2.3s\n", + "#22 1.281 Defaulting to user installation because normal site-packages is not writeable\n", + "#22 1.447 Collecting monai-deploy-app-sdk==2.0.0\n", + "#22 1.474 Downloading monai_deploy_app_sdk-2.0.0-py3-none-any.whl.metadata (7.6 kB)\n", + "#22 1.501 Requirement already satisfied: numpy>=1.21.6 in /home/holoscan/.local/lib/python3.10/site-packages (from monai-deploy-app-sdk==2.0.0) (1.26.4)\n", + "#22 1.503 Requirement already satisfied: holoscan~=2.0 in /home/holoscan/.local/lib/python3.10/site-packages (from monai-deploy-app-sdk==2.0.0) (2.9.0)\n", + "#22 1.544 Collecting colorama>=0.4.1 (from monai-deploy-app-sdk==2.0.0)\n", + "#22 1.549 Downloading colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)\n", + "#22 1.627 Collecting typeguard>=3.0.0 (from monai-deploy-app-sdk==2.0.0)\n", + "#22 1.632 Downloading typeguard-4.4.1-py3-none-any.whl.metadata (3.7 kB)\n", + "#22 1.655 Requirement already satisfied: pip>22.0.2 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (25.0)\n", + "#22 1.656 Requirement already satisfied: cupy-cuda12x<14.0,>=12.2 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (13.3.0)\n", + "#22 1.658 Requirement already satisfied: cloudpickle<4.0,>=3.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.1.1)\n", + "#22 1.659 Requirement already satisfied: python-on-whales<1.0,>=0.60.1 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.75.1)\n", + "#22 1.660 Requirement already satisfied: Jinja2<4.0,>=3.1.3 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.1.5)\n", + "#22 1.661 Requirement already satisfied: packaging>=23.1 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (24.2)\n", + "#22 1.662 Requirement already satisfied: pyyaml<7.0,>=6.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (6.0.2)\n", + "#22 1.662 Requirement already satisfied: requests<3.0,>=2.31.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.32.3)\n", + "#22 1.663 Requirement already satisfied: psutil<7.0,>=6.0.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (6.1.1)\n", + "#22 1.664 Requirement already satisfied: wheel-axle-runtime<1.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.0.6)\n", + "#22 1.670 Requirement already satisfied: typing-extensions>=4.10.0 in /home/holoscan/.local/lib/python3.10/site-packages (from typeguard>=3.0.0->monai-deploy-app-sdk==2.0.0) (4.12.2)\n", + "#22 1.678 Requirement already satisfied: fastrlock>=0.5 in /home/holoscan/.local/lib/python3.10/site-packages (from cupy-cuda12x<14.0,>=12.2->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.8.3)\n", + "#22 1.680 Requirement already satisfied: MarkupSafe>=2.0 in /home/holoscan/.local/lib/python3.10/site-packages (from Jinja2<4.0,>=3.1.3->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.0.2)\n", + "#22 1.687 Requirement already satisfied: pydantic!=2.0.*,<3,>=2 in /home/holoscan/.local/lib/python3.10/site-packages (from python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.10.6)\n", + "#22 1.692 Requirement already satisfied: charset-normalizer<4,>=2 in /home/holoscan/.local/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.4.1)\n", + "#22 1.693 Requirement already satisfied: idna<4,>=2.5 in /home/holoscan/.local/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.10)\n", + "#22 1.694 Requirement already satisfied: urllib3<3,>=1.21.1 in /home/holoscan/.local/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.3.0)\n", + "#22 1.694 Requirement already satisfied: certifi>=2017.4.17 in /home/holoscan/.local/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2024.12.14)\n", + "#22 1.697 Requirement already satisfied: filelock in /home/holoscan/.local/lib/python3.10/site-packages (from wheel-axle-runtime<1.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.17.0)\n", + "#22 1.713 Requirement already satisfied: annotated-types>=0.6.0 in /home/holoscan/.local/lib/python3.10/site-packages (from pydantic!=2.0.*,<3,>=2->python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.7.0)\n", + "#22 1.715 Requirement already satisfied: pydantic-core==2.27.2 in /home/holoscan/.local/lib/python3.10/site-packages (from pydantic!=2.0.*,<3,>=2->python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.27.2)\n", + "#22 1.734 Downloading monai_deploy_app_sdk-2.0.0-py3-none-any.whl (132 kB)\n", + "#22 1.762 Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n", + "#22 1.784 Downloading typeguard-4.4.1-py3-none-any.whl (35 kB)\n", + "#22 2.132 Installing collected packages: typeguard, colorama, monai-deploy-app-sdk\n", + "#22 2.316 Successfully installed colorama-0.4.6 monai-deploy-app-sdk-2.0.0 typeguard-4.4.1\n", + "#22 DONE 2.7s\n", "\n", "#23 [release 14/18] COPY ./models /opt/holoscan/models\n", "#23 DONE 0.2s\n", @@ -1804,91 +1786,92 @@ "\n", "#28 exporting to docker image format\n", "#28 exporting layers\n", - "#28 exporting layers 206.6s done\n", - "#28 exporting manifest sha256:de74699b1b4bee4575b62eecd49ecfde88d19159cf9c7f763df12fca4075ad22 0.0s done\n", - "#28 exporting config sha256:b8bb49a5eafd7b437a1dec0e8efd625a3c1820ec728f129f3182548b8ed45290 0.0s done\n", + "#28 exporting layers 211.4s done\n", + "#28 exporting manifest sha256:9912b1b79735694e28133b372df9befe4a729581a452a6ab2ad63b786c87a253 0.0s done\n", + "#28 exporting config sha256:fa77b2f3975cd2da99ca7aabe147114e6dd897a3c7e6f129d44599b80cb260b6 0.0s done\n", "#28 sending tarball\n", "#28 ...\n", "\n", "#29 importing to docker\n", - "#29 loading layer 3b1a9c7c51bd 319B / 319B\n", - "#29 loading layer 958003a9d9c8 65.54kB / 5.03MB\n", - "#29 loading layer 48d2f180fed0 557.06kB / 3.34GB\n", - "#29 loading layer 48d2f180fed0 145.39MB / 3.34GB 6.2s\n", - "#29 loading layer 48d2f180fed0 375.46MB / 3.34GB 12.4s\n", - "#29 loading layer 48d2f180fed0 633.37MB / 3.34GB 16.5s\n", - "#29 loading layer 48d2f180fed0 890.73MB / 3.34GB 20.6s\n", - "#29 loading layer 48d2f180fed0 1.17GB / 3.34GB 26.8s\n", - "#29 loading layer 48d2f180fed0 1.40GB / 3.34GB 30.9s\n", - "#29 loading layer 48d2f180fed0 1.70GB / 3.34GB 34.9s\n", - "#29 loading layer 48d2f180fed0 2.01GB / 3.34GB 38.9s\n", - "#29 loading layer 48d2f180fed0 2.19GB / 3.34GB 45.2s\n", - "#29 loading layer 48d2f180fed0 2.34GB / 3.34GB 51.6s\n", - "#29 loading layer 48d2f180fed0 2.56GB / 3.34GB 57.8s\n", - "#29 loading layer 48d2f180fed0 2.82GB / 3.34GB 61.8s\n", - "#29 loading layer 48d2f180fed0 3.05GB / 3.34GB 65.9s\n", - "#29 loading layer 48d2f180fed0 3.26GB / 3.34GB 72.0s\n", - "#29 loading layer 61a09154a063 32.77kB / 579.09kB\n", - "#29 loading layer fb5de645c082 196.61kB / 17.81MB\n", - "#29 loading layer 7277d541a3c8 492B / 492B\n", - "#29 loading layer 6625913413e5 315B / 315B\n", - "#29 loading layer 78faa330ac0a 303B / 303B\n", - "#29 loading layer b0f8d0fbc279 3.36kB / 3.36kB\n", - "#29 loading layer 3b1a9c7c51bd 319B / 319B 76.8s done\n", - "#29 loading layer 958003a9d9c8 65.54kB / 5.03MB 76.6s done\n", - "#29 loading layer 48d2f180fed0 3.32GB / 3.34GB 76.1s done\n", - "#29 loading layer 61a09154a063 32.77kB / 579.09kB 0.9s done\n", - "#29 loading layer fb5de645c082 196.61kB / 17.81MB 0.8s done\n", - "#29 loading layer 7277d541a3c8 492B / 492B 0.5s done\n", - "#29 loading layer 6625913413e5 315B / 315B 0.5s done\n", - "#29 loading layer 78faa330ac0a 303B / 303B 0.5s done\n", - "#29 loading layer b0f8d0fbc279 3.36kB / 3.36kB 0.4s done\n", - "#29 DONE 76.8s\n", + "#29 loading layer f1af28197cc7 320B / 320B\n", + "#29 loading layer 20850dd17414 65.54kB / 5.10MB\n", + "#29 loading layer b9f62cf91cea 557.06kB / 3.40GB\n", + "#29 loading layer b9f62cf91cea 144.83MB / 3.40GB 6.4s\n", + "#29 loading layer b9f62cf91cea 353.17MB / 3.40GB 12.6s\n", + "#29 loading layer b9f62cf91cea 531.43MB / 3.40GB 16.7s\n", + "#29 loading layer b9f62cf91cea 759.27MB / 3.40GB 20.7s\n", + "#29 loading layer b9f62cf91cea 964.82MB / 3.40GB 24.8s\n", + "#29 loading layer b9f62cf91cea 1.20GB / 3.40GB 28.8s\n", + "#29 loading layer b9f62cf91cea 1.40GB / 3.40GB 33.0s\n", + "#29 loading layer b9f62cf91cea 1.66GB / 3.40GB 37.1s\n", + "#29 loading layer b9f62cf91cea 1.86GB / 3.40GB 41.2s\n", + "#29 loading layer b9f62cf91cea 2.17GB / 3.40GB 45.4s\n", + "#29 loading layer b9f62cf91cea 2.35GB / 3.40GB 51.7s\n", + "#29 loading layer b9f62cf91cea 2.38GB / 3.40GB 56.8s\n", + "#29 loading layer b9f62cf91cea 2.62GB / 3.40GB 63.0s\n", + "#29 loading layer b9f62cf91cea 2.88GB / 3.40GB 67.1s\n", + "#29 loading layer b9f62cf91cea 3.13GB / 3.40GB 71.4s\n", + "#29 loading layer b9f62cf91cea 3.31GB / 3.40GB 77.5s\n", + "#29 loading layer 00a02d1497ac 32.77kB / 578.05kB\n", + "#29 loading layer c39f31c9dcbe 196.61kB / 17.81MB\n", + "#29 loading layer c27d336afe81 492B / 492B\n", + "#29 loading layer ad1723897556 315B / 315B\n", + "#29 loading layer c4a750e42b61 302B / 302B\n", + "#29 loading layer 8d8c67a7dde8 3.36kB / 3.36kB\n", + "#29 loading layer f1af28197cc7 320B / 320B 81.6s done\n", + "#29 loading layer 20850dd17414 65.54kB / 5.10MB 81.5s done\n", + "#29 loading layer b9f62cf91cea 3.31GB / 3.40GB 80.9s done\n", + "#29 loading layer 00a02d1497ac 32.77kB / 578.05kB 1.0s done\n", + "#29 loading layer c39f31c9dcbe 196.61kB / 17.81MB 0.8s done\n", + "#29 loading layer c27d336afe81 492B / 492B 0.5s done\n", + "#29 loading layer ad1723897556 315B / 315B 0.5s done\n", + "#29 loading layer c4a750e42b61 302B / 302B 0.4s done\n", + "#29 loading layer 8d8c67a7dde8 3.36kB / 3.36kB 0.4s done\n", + "#29 DONE 81.6s\n", "\n", "#28 exporting to docker image format\n", - "#28 sending tarball 118.0s done\n", - "#28 DONE 324.7s\n", + "#28 sending tarball 124.3s done\n", + "#28 DONE 335.8s\n", "\n", "#30 exporting cache to client directory\n", "#30 preparing build cache for export\n", - "#30 writing layer sha256:1463ead657ebd5f00bff6269e7c4941ffcd2c60dc04c0d5f77be0805653d5431\n", - "#30 writing layer sha256:1463ead657ebd5f00bff6269e7c4941ffcd2c60dc04c0d5f77be0805653d5431 0.0s done\n", + "#30 writing layer sha256:0514616033bece7aa07be14e038e2deaff1febaded164a7df509159ddeb68afb\n", + "#30 writing layer sha256:0514616033bece7aa07be14e038e2deaff1febaded164a7df509159ddeb68afb 0.0s done\n", + "#30 writing layer sha256:067153055e77a79b3715e3a56caac895ee686a2fa6cadc4423c28d2eb20f0542 done\n", + "#30 writing layer sha256:10dca05c4c1d17a0351e6109694f44743a7fab7484c2096ac9e4e6f83d455964 0.1s done\n", "#30 writing layer sha256:1a0d52c93099897b518eb6cc6cd0fa3d52ff733e8606b4d8c92675ba9e7101ff done\n", - "#30 writing layer sha256:1fe4071e2ad799635d2363506eab826a132ddd1465cee089bf81dd9bdd1b18ed 0.0s done\n", "#30 writing layer sha256:234b866f57e0c5d555af2d87a1857a17ec4ac7e70d2dc6c31ff0a072a4607f24 done\n", "#30 writing layer sha256:255905badeaa82f032e1043580eed8b745c19cd4a2cb7183883ee5a30f851d6d done\n", "#30 writing layer sha256:3713021b02770a720dea9b54c03d0ed83e03a2ef5dce2898c56a327fee9a8bca done\n", "#30 writing layer sha256:3a80776cdc9c9ef79bb38510849c9160f82462d346bf5a8bf29c811391b4e763 done\n", - "#30 writing layer sha256:41e173df84c503c9e717e0e67c22260d4e6bb14660577b225dec5733b4155a78 done\n", + "#30 writing layer sha256:400106ccc6c0e4c57943fea0ee16adf7d7f37bc155b2a8a704b41ad227590e75 0.1s done\n", + "#30 writing layer sha256:440849e3569a74baf883d1a14010854807280727ba17c36f82beee5b7d5052b2\n", + "#30 writing layer sha256:440849e3569a74baf883d1a14010854807280727ba17c36f82beee5b7d5052b2 done\n", "#30 writing layer sha256:46c9c54348df10b0d7700bf932d5de7dc5bf9ab91e685db7086e29e381ff8e12 done\n", + "#30 writing layer sha256:4d62fb97f3e572427881e00c0d7d2424446cf788a2ff1e7a5864b790880d37bc 0.0s done\n", "#30 writing layer sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 done\n", - "#30 writing layer sha256:55dfcbd41d825f3bdf939dc395f59941aa6dcb8a6d70cd502706586a3378f199 0.0s done\n", "#30 writing layer sha256:67b3546b211deefd67122e680c0932886e0b3c6bd6ae0665e3ab25d2d9f0cda0 done\n", - "#30 writing layer sha256:94ea8fe9174939142272c5d49e179ba19f357ea997b5d4f3900d1fb7d4fe6707 done\n", + "#30 writing layer sha256:695ba418a525cecd1c5442c010ea5f070327d38dfa8f533e63ae845fc3660be8 done\n", + "#30 writing layer sha256:8e8eda206fe85e2e966fe8e06f6acba89eaf2e6b6cddb66e3e84fc0efc9c6906 0.0s done\n", "#30 writing layer sha256:980c13e156f90218b216bc6b0430472bbda71c0202804d350c0e16ef02075885 done\n", - "#30 writing layer sha256:9e2695ac904b74c0ac2124b2d3787566353a878d987e857a058dc4942c05795f\n", - "#30 writing layer sha256:9e2695ac904b74c0ac2124b2d3787566353a878d987e857a058dc4942c05795f 40.7s done\n", + "#30 writing layer sha256:a8fe21bec5ef4d30051879815a94c399cea9a8a7c5e62d0b2d8dc6ab35851f40\n", + "#30 writing layer sha256:a8fe21bec5ef4d30051879815a94c399cea9a8a7c5e62d0b2d8dc6ab35851f40 0.3s done\n", "#30 writing layer sha256:ac52600be001236a2c291a4c5902c915bf5ec9d2441c06d2a54c587b76345847\n", "#30 writing layer sha256:ac52600be001236a2c291a4c5902c915bf5ec9d2441c06d2a54c587b76345847 done\n", - "#30 writing layer sha256:acac0a5fdd7a787bb7420c78469973897c8f5fbf1ffe00dbf9607cfce403409e\n", - "#30 writing layer sha256:acac0a5fdd7a787bb7420c78469973897c8f5fbf1ffe00dbf9607cfce403409e 0.3s done\n", - "#30 writing layer sha256:bc25d810fc1fd99656c1b07d422e88cdb896508730175bc3ec187b79f3787044\n", "#30 writing layer sha256:bc25d810fc1fd99656c1b07d422e88cdb896508730175bc3ec187b79f3787044 done\n", - "#30 writing layer sha256:beec7402c8dda7aeb1553458378da5f7ca8d25cbe7d82ed2370d19a7ae2fa930 0.0s done\n", - "#30 writing layer sha256:c0e9112106766f6d918279426468ca3a81ddca90d82a7e3e41ed3d96b0464a94 done\n", - "#30 writing layer sha256:c8937b741c9ecd6b257aeb18daf07eddbf1c77b0c93f9ba4164faa8353cd1d3c done\n", + "#30 writing layer sha256:be0dad9c160128582482df5e64337c99c213a48988d5d12d453bd03bc2a4c1b1 done\n", + "#30 writing layer sha256:c94af7742e07c9041104260b79637c243ef8dd25eb4241f06ef1a3899a99f2bd done\n", "#30 writing layer sha256:d339273dfb7fc3b7fd896d3610d360ab9a09ab33a818093cb73b4be7639b6e99 done\n", - "#30 writing layer sha256:e085183b6ee8ab9c39259c2a4ad46084acb593751832393af1e0b2d1b98a009b 0.0s done\n", - "#30 writing layer sha256:e540d242f419a27800d601d7275f4fbb3488b97d209b454f52e63f1eb413a912 done\n", + "#30 writing layer sha256:dbe5a881b951fb16a98081093b857b9127105681762f778e9ff16b31ffb07055 0.0s done\n", "#30 writing layer sha256:efc9014e2a4cb1e133b80bb4f047e9141e98685eb95b8d2471a8e35b86643e31 done\n", - "#30 writing layer sha256:f08ebe0cc28258259e420b22fa0a6e5458acec5f4dc7e13adfce2e01a7284802 0.1s done\n", - "#30 writing layer sha256:f85b662020c5951673d9126c6fed3e887bafc19d949854178592049197a2a5e1\n", - "#30 preparing build cache for export 41.5s done\n", - "#30 writing layer sha256:f85b662020c5951673d9126c6fed3e887bafc19d949854178592049197a2a5e1 0.0s done\n", - "#30 writing config sha256:70b797e9170b15a4b072f80d4653416ffe200049a339c6a471f3824e3c5b6c8f 0.0s done\n", - "#30 writing cache manifest sha256:a6c804e0720ef0eeec54b05a0ac4f0094a44c365e5fe55021bcfa06a1620bfb7 0.0s done\n", - "#30 DONE 41.5s\n", - "[2025-01-16 18:55:45,052] [INFO] (packager) - Build Summary:\n", + "#30 writing layer sha256:f734d777b5a1efc673bfc51bbe4634866e8b0c1735a3ba60913a1c95b8f85844 0.0s done\n", + "#30 writing layer sha256:fcc4d28973337beed9179216a0a6c14235ef3508532b9ebe1f727a9f684c5ab5\n", + "#30 writing layer sha256:fcc4d28973337beed9179216a0a6c14235ef3508532b9ebe1f727a9f684c5ab5 49.9s done\n", + "#30 preparing build cache for export 50.7s done\n", + "#30 writing config sha256:fb02d957d3bc2e55f202f36038ebe4b6dd16cd559d9a96a331e39ae6f5e63b3c 0.0s done\n", + "#30 writing cache manifest sha256:a97d212bf82fe3968fa658499603f14288678605e74c4bf6a3ae8e306dd1f1ff 0.0s done\n", + "#30 DONE 50.7s\n", + "[2025-01-29 14:54:01,342] [INFO] (packager) - Build Summary:\n", "\n", "Platform: x64-workstation/dgpu\n", " Status: Succeeded\n", @@ -1919,7 +1902,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "my_app-x64-workstation-dgpu-linux-amd64 1.0 b8bb49a5eafd 6 minutes ago 8.64GB\n" + "my_app-x64-workstation-dgpu-linux-amd64 1.0 fa77b2f3975c 6 minutes ago 8.82GB\n" ] } ], @@ -2001,16 +1984,16 @@ " \"platformConfig\": \"dgpu\"\n", "}\n", "\n", - "2025-01-17 02:55:48 [INFO] Copying application from /opt/holoscan/app to /var/run/holoscan/export/app\n", + "2025-01-29 22:54:05 [INFO] Copying application from /opt/holoscan/app to /var/run/holoscan/export/app\n", "\n", - "2025-01-17 02:55:48 [INFO] Copying application manifest file from /etc/holoscan/app.json to /var/run/holoscan/export/config/app.json\n", - "2025-01-17 02:55:48 [INFO] Copying pkg manifest file from /etc/holoscan/pkg.json to /var/run/holoscan/export/config/pkg.json\n", - "2025-01-17 02:55:48 [INFO] Copying application configuration from /var/holoscan/app.yaml to /var/run/holoscan/export/config/app.yaml\n", + "2025-01-29 22:54:05 [INFO] Copying application manifest file from /etc/holoscan/app.json to /var/run/holoscan/export/config/app.json\n", + "2025-01-29 22:54:05 [INFO] Copying pkg manifest file from /etc/holoscan/pkg.json to /var/run/holoscan/export/config/pkg.json\n", + "2025-01-29 22:54:05 [INFO] Copying application configuration from /var/holoscan/app.yaml to /var/run/holoscan/export/config/app.yaml\n", "\n", - "2025-01-17 02:55:48 [INFO] Copying models from /opt/holoscan/models to /var/run/holoscan/export/models\n", + "2025-01-29 22:54:05 [INFO] Copying models from /opt/holoscan/models to /var/run/holoscan/export/models\n", "\n", - "2025-01-17 02:55:48 [INFO] Copying documentation from /opt/holoscan/docs/ to /var/run/holoscan/export/docs\n", - "2025-01-17 02:55:48 [INFO] '/opt/holoscan/docs/' cannot be found.\n", + "2025-01-29 22:54:05 [INFO] Copying documentation from /opt/holoscan/docs/ to /var/run/holoscan/export/docs\n", + "2025-01-29 22:54:05 [INFO] '/opt/holoscan/docs/' cannot be found.\n", "\n", "app config models\n" ] @@ -2042,22 +2025,23 @@ "name": "stdout", "output_type": "stream", "text": [ - "[2025-01-16 18:55:50,604] [INFO] (runner) - Checking dependencies...\n", - "[2025-01-16 18:55:50,604] [INFO] (runner) - --> Verifying if \"docker\" is installed...\n", + "[2025-01-29 14:54:07,456] [INFO] (runner) - Checking dependencies...\n", + "[2025-01-29 14:54:07,456] [INFO] (runner) - --> Verifying if \"docker\" is installed...\n", "\n", - "[2025-01-16 18:55:50,604] [INFO] (runner) - --> Verifying if \"docker-buildx\" is installed...\n", + "[2025-01-29 14:54:07,457] [INFO] (runner) - --> Verifying if \"docker-buildx\" is installed...\n", "\n", - "[2025-01-16 18:55:50,605] [INFO] (runner) - --> Verifying if \"my_app-x64-workstation-dgpu-linux-amd64:1.0\" is available...\n", + "[2025-01-29 14:54:07,457] [INFO] (runner) - --> Verifying if \"my_app-x64-workstation-dgpu-linux-amd64:1.0\" is available...\n", "\n", - "[2025-01-16 18:55:50,728] [INFO] (runner) - Reading HAP/MAP manifest...\n", - "Successfully copied 2.56kB to /tmp/tmpruj04c90/app.json\n", - "Successfully copied 2.05kB to /tmp/tmpruj04c90/pkg.json\n", - "[2025-01-16 18:55:51,051] [INFO] (runner) - --> Verifying if \"nvidia-ctk\" is installed...\n", + "[2025-01-29 14:54:07,521] [INFO] (runner) - Reading HAP/MAP manifest...\n", + "Successfully copied 2.56kB to /tmp/tmpieorgxpy/app.json\n", + "Successfully copied 2.05kB to /tmp/tmpieorgxpy/pkg.json\n", + "969dfb951c65e83ccab09c48eaad70245f27a19206b7c42f68cf2020047ab48a\n", + "[2025-01-29 14:54:07,774] [INFO] (runner) - --> Verifying if \"nvidia-ctk\" is installed...\n", "\n", - "[2025-01-16 18:55:51,051] [INFO] (runner) - --> Verifying \"nvidia-ctk\" version...\n", + "[2025-01-29 14:54:07,774] [INFO] (runner) - --> Verifying \"nvidia-ctk\" version...\n", "\n", - "[2025-01-16 18:55:51,518] [INFO] (common) - Launching container (ce1a8045e4e0) using image 'my_app-x64-workstation-dgpu-linux-amd64:1.0'...\n", - " container name: zealous_euler\n", + "[2025-01-29 14:54:08,049] [INFO] (common) - Launching container (b7f0dfdee19f) using image 'my_app-x64-workstation-dgpu-linux-amd64:1.0'...\n", + " container name: peaceful_bose\n", " host name: mingq-dt\n", " network: host\n", " user: 1000:1000\n", @@ -2067,105 +2051,119 @@ " shared memory size: 67108864\n", " devices: \n", " group_add: 44\n", - "2025-01-17 02:55:52 [INFO] Launching application python3 /opt/holoscan/app ...\n", + "2025-01-29 22:54:08 [INFO] Launching application python3 /opt/holoscan/app ...\n", "\n", - "[info] [fragment.cpp:585] Loading extensions from configs...\n", + "[info] [fragment.cpp:599] Loading extensions from configs...\n", "\n", - "[info] [gxf_executor.cpp:255] Creating context\n", + "[info] [gxf_executor.cpp:264] Creating context\n", "\n", - "[2025-01-17 02:56:03,227] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=['/opt/holoscan/app'])\n", + "[2025-01-29 22:54:16,150] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=['/opt/holoscan/app'])\n", "\n", - "[2025-01-17 02:56:03,235] [INFO] (root) - AppContext object: AppContext(input_path=/var/holoscan/input, output_path=/var/holoscan/output, model_path=/opt/holoscan/models, workdir=/var/holoscan)\n", + "[2025-01-29 22:54:16,156] [INFO] (root) - AppContext object: AppContext(input_path=/var/holoscan/input, output_path=/var/holoscan/output, model_path=/opt/holoscan/models, workdir=/var/holoscan)\n", "\n", - "[2025-01-17 02:56:03,238] [INFO] (root) - End compose\n", + "[2025-01-29 22:54:16,159] [INFO] (root) - End compose\n", "\n", - "[info] [app_driver.cpp:1176] Launching the driver/health checking service\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'input_folder'\n", "\n", - "[info] [gxf_executor.cpp:1973] Activating Graph...\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'dicom_study_list'\n", "\n", - "[info] [gxf_executor.cpp:2003] Running Graph...\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", "\n", - "[info] [gxf_executor.cpp:2005] Waiting for completion...\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", "\n", - "[info] [greedy_scheduler.cpp:191] Scheduling 6 entities\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'output_file'\n", + "\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'output_folder'\n", + "\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", "\n", - "[2025-01-17 02:56:03,245] [INFO] (monai.deploy.operators.dicom_data_loader_operator.DICOMDataLoaderOperator) - No or invalid input path from the optional input port: None\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'seg_image'\n", + "\n", + "[info] [gxf_executor.cpp:2208] Activating Graph...\n", + "\n", + "[info] [gxf_executor.cpp:2238] Running Graph...\n", + "\n", + "[info] [gxf_executor.cpp:2240] Waiting for completion...\n", + "\n", + "[info] [greedy_scheduler.cpp:191] Scheduling 6 entities\n", "\n", - "[info] [server.cpp:87] Health checking server listening on 0.0.0.0:8777\n", + "[2025-01-29 22:54:16,194] [INFO] (monai.deploy.operators.dicom_data_loader_operator.DICOMDataLoaderOperator) - No or invalid input path from the optional input port: None\n", "\n", - "[2025-01-17 02:56:03,770] [INFO] (root) - Finding series for Selection named: CT Series\n", + "[2025-01-29 22:54:17,214] [INFO] (root) - Finding series for Selection named: CT Series\n", "\n", - "[2025-01-17 02:56:03,770] [INFO] (root) - Searching study, : 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291\n", + "[2025-01-29 22:54:17,214] [INFO] (root) - Searching study, : 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291\n", "\n", " # of series: 1\n", "\n", - "[2025-01-17 02:56:03,770] [INFO] (root) - Working on series, instance UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", + "[2025-01-29 22:54:17,214] [INFO] (root) - Working on series, instance UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", "\n", - "[2025-01-17 02:56:03,770] [INFO] (root) - On attribute: 'StudyDescription' to match value: '(.*?)'\n", + "[2025-01-29 22:54:17,215] [INFO] (root) - On attribute: 'StudyDescription' to match value: '(.*?)'\n", "\n", - "[2025-01-17 02:56:03,770] [INFO] (root) - Series attribute StudyDescription value: CT ABDOMEN W IV CONTRAST\n", + "[2025-01-29 22:54:17,215] [INFO] (root) - Series attribute StudyDescription value: CT ABDOMEN W IV CONTRAST\n", "\n", - "[2025-01-17 02:56:03,770] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 22:54:17,215] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", "\n", - "[2025-01-17 02:56:03,770] [INFO] (root) - On attribute: 'Modality' to match value: '(?i)CT'\n", + "[2025-01-29 22:54:17,215] [INFO] (root) - On attribute: 'Modality' to match value: '(?i)CT'\n", "\n", - "[2025-01-17 02:56:03,770] [INFO] (root) - Series attribute Modality value: CT\n", + "[2025-01-29 22:54:17,215] [INFO] (root) - Series attribute Modality value: CT\n", "\n", - "[2025-01-17 02:56:03,770] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 22:54:17,215] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", "\n", - "[2025-01-17 02:56:03,771] [INFO] (root) - On attribute: 'SeriesDescription' to match value: '(.*?)'\n", + "[2025-01-29 22:54:17,215] [INFO] (root) - On attribute: 'SeriesDescription' to match value: '(.*?)'\n", "\n", - "[2025-01-17 02:56:03,771] [INFO] (root) - Series attribute SeriesDescription value: ABD/PANC 3.0 B31f\n", + "[2025-01-29 22:54:17,215] [INFO] (root) - Series attribute SeriesDescription value: ABD/PANC 3.0 B31f\n", "\n", - "[2025-01-17 02:56:03,771] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 22:54:17,215] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", "\n", - "[2025-01-17 02:56:03,771] [INFO] (root) - Selected Series, UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", + "[2025-01-29 22:54:17,215] [INFO] (root) - Selected Series, UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", "\n", - "[2025-01-17 02:56:04,126] [INFO] (root) - Parsing from bundle_path: /opt/holoscan/models/model/model.ts\n", + "[2025-01-29 22:54:18,043] [INFO] (root) - Parsing from bundle_path: /opt/holoscan/models/model/model.ts\n", "\n", "/home/holoscan/.local/lib/python3.10/site-packages/monai/bundle/reference_resolver.py:216: UserWarning: Detected deprecated name 'optional_packages_version' in configuration file, replacing with 'required_packages_version'.\n", "\n", " warnings.warn(\n", "\n", - "[2025-01-17 02:56:07,907] [INFO] (monai.deploy.operators.stl_conversion_operator.STLConversionOperator) - Output will be saved in file /var/holoscan/output/stl/spleen.stl.\n", + "[2025-01-29 22:54:21,728] [INFO] (monai.deploy.operators.stl_conversion_operator.STLConversionOperator) - Output will be saved in file /var/holoscan/output/stl/spleen.stl.\n", "\n", - "[2025-01-17 02:56:09,756] [INFO] (monai.deploy.operators.stl_conversion_operator.SpatialImage) - 3D image\n", + "[2025-01-29 22:54:23,417] [INFO] (monai.deploy.operators.stl_conversion_operator.SpatialImage) - 3D image\n", "\n", - "[2025-01-17 02:56:09,756] [INFO] (monai.deploy.operators.stl_conversion_operator.STLConverter) - Image ndarray shape:(204, 512, 512)\n", + "[2025-01-29 22:54:23,417] [INFO] (monai.deploy.operators.stl_conversion_operator.STLConverter) - Image ndarray shape:(204, 512, 512)\n", "\n", "/home/holoscan/.local/lib/python3.10/site-packages/highdicom/base.py:163: UserWarning: The string \"C3N-00198\" is unlikely to represent the intended person name since it contains only a single component. Construct a person name according to the format in described in https://dicom.nema.org/dicom/2013/output/chtml/part05/sect_6.2.html#sect_6.2.1.2, or, in pydicom 2.2.0 or later, use the pydicom.valuerep.PersonName.from_named_components() method to construct the person name correctly. If a single-component name is really intended, add a trailing caret character to disambiguate the name.\n", "\n", " check_person_name(patient_name)\n", "\n", - "[2025-01-17 02:56:22,312] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 22:54:38,746] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", "\n", - "[2025-01-17 02:56:22,313] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", + "[2025-01-29 22:54:38,746] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", "\n", - "[2025-01-17 02:56:22,313] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 22:54:38,746] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", "\n", - "[2025-01-17 02:56:22,313] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", + "[2025-01-29 22:54:38,746] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", "\n", - "[2025-01-17 02:56:22,313] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", + "[2025-01-29 22:54:38,747] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", "\n", - "[2025-01-17 02:56:22,313] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 22:54:38,747] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", "\n", - "[2025-01-17 02:56:22,313] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", + "[2025-01-29 22:54:38,747] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", "\n", - "[2025-01-17 02:56:22,314] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", + "[2025-01-29 22:54:38,747] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", "\n", - "[2025-01-17 02:56:22,314] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", + "[2025-01-29 22:54:38,747] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", "\n", "[info] [greedy_scheduler.cpp:372] Scheduler stopped: Some entities are waiting for execution, but there are no periodic or async entities to get out of the deadlock.\n", "\n", "[info] [greedy_scheduler.cpp:401] Scheduler finished.\n", "\n", - "[info] [gxf_executor.cpp:2008] Deactivating Graph...\n", + "[info] [gxf_executor.cpp:2243] Deactivating Graph...\n", "\n", - "[info] [gxf_executor.cpp:2016] Graph execution finished.\n", + "[info] [gxf_executor.cpp:2251] Graph execution finished.\n", "\n", - "[2025-01-17 02:56:22,447] [INFO] (app.AISpleenSegApp) - End run\n", + "[2025-01-29 22:54:38,864] [INFO] (app.AISpleenSegApp) - End run\n", "\n", - "[2025-01-16 18:56:24,275] [INFO] (common) - Container 'zealous_euler'(ce1a8045e4e0) exited.\n" + "[2025-01-29 14:54:40,627] [INFO] (common) - Container 'peaceful_bose'(b7f0dfdee19f) exited.\n" ] } ], @@ -2184,7 +2182,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "1.2.826.0.1.3680043.10.511.3.91784675609868036211230217438685119.dcm stl\n" + "1.2.826.0.1.3680043.10.511.3.91779897402861840368941310038395885.dcm stl\n" ] } ], diff --git a/notebooks/tutorials/05_multi_model_app.ipynb b/notebooks/tutorials/05_multi_model_app.ipynb index f9c880bb..0edc6d75 100644 --- a/notebooks/tutorials/05_multi_model_app.ipynb +++ b/notebooks/tutorials/05_multi_model_app.ipynb @@ -19,7 +19,7 @@ "\n", "## Required Model File Organization\n", "\n", - "- The model files in TorchScript, be it MONAI Bundle compliant or not, must each be placed in an uniquely named folder. The name of this folder becomes the name of the loaded model network in the application, and is used by the application to retieve the network via the execution context.\n", + "- The model files in TorchScript, be it MONAI Bundle compliant or not, must each be placed in an uniquely named folder. The name of this folder becomes the name of the loaded model network in the application, and is used by the application to retrieve the network via the execution context.\n", "- The folders containing the individual model file must then be placed under a parent folder. The name of this folder is chosen by the application developer.\n", "- The path of the aforementioned parent folder is used to set the well-known environment variable for the model path, `HOLOSCAN_MODEL_PATH`, when the application is directly run as a program.\n", "- When the application is packaged as an MONAI Application Package (MAP), the parent folder is used as the model path, and the Packager copies all of the sub folders to the well-known `models` folder in the MAP.\n", @@ -382,9 +382,7 @@ " inflating: dcm/1-202.dcm \n", " inflating: dcm/1-203.dcm \n", " inflating: dcm/1-204.dcm \n", - " creating: multi_models/pancreas_ct_dints/\n", " inflating: multi_models/pancreas_ct_dints/model.ts \n", - " creating: multi_models/spleen_ct/\n", " inflating: multi_models/spleen_ct/model.ts \n" ] } @@ -732,70 +730,70 @@ "name": "stderr", "output_type": "stream", "text": [ - "[info] [fragment.cpp:588] Loading extensions from configs...\n", - "[2025-01-16 18:59:35,461] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=[])\n", - "[2025-01-16 18:59:35,473] [INFO] (root) - AppContext object: AppContext(input_path=dcm, output_path=output, model_path=multi_models, workdir=)\n", - "[2025-01-16 18:59:35,478] [INFO] (root) - End compose\n", - "[info] [gxf_executor.cpp:262] Creating context\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'input_folder'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'dicom_study_list'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'study_selected_series_list'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'image'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'image'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'output_folder'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'study_selected_series_list'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'seg_image'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'output_folder'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'study_selected_series_list'\n", - "[info] [gxf_executor.cpp:1767] creating input IOSpec named 'seg_image'\n", - "[info] [gxf_executor.cpp:2178] Activating Graph...\n", - "[info] [gxf_executor.cpp:2208] Running Graph...\n", - "[info] [gxf_executor.cpp:2210] Waiting for completion...\n", + "[info] [fragment.cpp:599] Loading extensions from configs...\n", + "[2025-01-29 14:58:28,687] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=[])\n", + "[2025-01-29 14:58:28,703] [INFO] (root) - AppContext object: AppContext(input_path=dcm, output_path=output, model_path=multi_models, workdir=)\n", + "[2025-01-29 14:58:28,709] [INFO] (root) - End compose\n", + "[info] [gxf_executor.cpp:264] Creating context\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'input_folder'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'dicom_study_list'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'output_folder'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'seg_image'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'output_folder'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'seg_image'\n", + "[info] [gxf_executor.cpp:2208] Activating Graph...\n", + "[info] [gxf_executor.cpp:2238] Running Graph...\n", + "[info] [gxf_executor.cpp:2240] Waiting for completion...\n", "[info] [greedy_scheduler.cpp:191] Scheduling 7 entities\n", - "[2025-01-16 18:59:35,490] [INFO] (monai.deploy.operators.dicom_data_loader_operator.DICOMDataLoaderOperator) - No or invalid input path from the optional input port: None\n", - "[2025-01-16 18:59:35,847] [INFO] (root) - Finding series for Selection named: CT Series\n", - "[2025-01-16 18:59:35,849] [INFO] (root) - Searching study, : 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291\n", + "[2025-01-29 14:58:28,793] [INFO] (monai.deploy.operators.dicom_data_loader_operator.DICOMDataLoaderOperator) - No or invalid input path from the optional input port: None\n", + "[2025-01-29 14:58:29,154] [INFO] (root) - Finding series for Selection named: CT Series\n", + "[2025-01-29 14:58:29,155] [INFO] (root) - Searching study, : 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291\n", " # of series: 1\n", - "[2025-01-16 18:59:35,850] [INFO] (root) - Working on series, instance UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", - "[2025-01-16 18:59:35,851] [INFO] (root) - On attribute: 'StudyDescription' to match value: '(.*?)'\n", - "[2025-01-16 18:59:35,852] [INFO] (root) - Series attribute StudyDescription value: CT ABDOMEN W IV CONTRAST\n", - "[2025-01-16 18:59:35,854] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 18:59:35,854] [INFO] (root) - On attribute: 'Modality' to match value: '(?i)CT'\n", - "[2025-01-16 18:59:35,855] [INFO] (root) - Series attribute Modality value: CT\n", - "[2025-01-16 18:59:35,856] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 18:59:35,857] [INFO] (root) - On attribute: 'SeriesDescription' to match value: '(.*?)'\n", - "[2025-01-16 18:59:35,857] [INFO] (root) - Series attribute SeriesDescription value: ABD/PANC 3.0 B31f\n", - "[2025-01-16 18:59:35,858] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 18:59:35,859] [INFO] (root) - Selected Series, UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", - "[2025-01-16 18:59:36,183] [INFO] (root) - Parsing from bundle_path: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/multi_models/pancreas_ct_dints/model.ts\n", + "[2025-01-29 14:58:29,156] [INFO] (root) - Working on series, instance UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", + "[2025-01-29 14:58:29,157] [INFO] (root) - On attribute: 'StudyDescription' to match value: '(.*?)'\n", + "[2025-01-29 14:58:29,157] [INFO] (root) - Series attribute StudyDescription value: CT ABDOMEN W IV CONTRAST\n", + "[2025-01-29 14:58:29,158] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:58:29,159] [INFO] (root) - On attribute: 'Modality' to match value: '(?i)CT'\n", + "[2025-01-29 14:58:29,160] [INFO] (root) - Series attribute Modality value: CT\n", + "[2025-01-29 14:58:29,160] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:58:29,161] [INFO] (root) - On attribute: 'SeriesDescription' to match value: '(.*?)'\n", + "[2025-01-29 14:58:29,163] [INFO] (root) - Series attribute SeriesDescription value: ABD/PANC 3.0 B31f\n", + "[2025-01-29 14:58:29,164] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:58:29,165] [INFO] (root) - Selected Series, UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", + "[2025-01-29 14:58:29,932] [INFO] (root) - Parsing from bundle_path: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/multi_models/pancreas_ct_dints/model.ts\n", "/home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages/monai/bundle/reference_resolver.py:216: UserWarning: Detected deprecated name 'optional_packages_version' in configuration file, replacing with 'required_packages_version'.\n", " warnings.warn(\n", - "[2025-01-16 19:00:12,120] [INFO] (root) - Parsing from bundle_path: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/multi_models/spleen_ct/model.ts\n", + "[2025-01-29 14:59:07,045] [INFO] (root) - Parsing from bundle_path: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/multi_models/spleen_ct/model.ts\n", "/home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages/highdicom/base.py:163: UserWarning: The string \"C3N-00198\" is unlikely to represent the intended person name since it contains only a single component. Construct a person name according to the format in described in https://dicom.nema.org/dicom/2013/output/chtml/part05/sect_6.2.html#sect_6.2.1.2, or, in pydicom 2.2.0 or later, use the pydicom.valuerep.PersonName.from_named_components() method to construct the person name correctly. If a single-component name is really intended, add a trailing caret character to disambiguate the name.\n", " check_person_name(patient_name)\n", - "[2025-01-16 19:00:16,095] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 19:00:16,096] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", - "[2025-01-16 19:00:16,097] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 19:00:16,097] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", - "[2025-01-16 19:00:16,098] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", - "[2025-01-16 19:00:16,100] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 19:00:16,101] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", - "[2025-01-16 19:00:16,102] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", - "[2025-01-16 19:00:16,103] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", - "[2025-01-16 19:00:17,716] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 19:00:17,717] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", - "[2025-01-16 19:00:17,719] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 19:00:17,720] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", - "[2025-01-16 19:00:17,721] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", - "[2025-01-16 19:00:17,722] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 19:00:17,723] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", - "[2025-01-16 19:00:17,724] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", - "[2025-01-16 19:00:17,725] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", + "[2025-01-29 14:59:11,588] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:59:11,589] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", + "[2025-01-29 14:59:11,590] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:59:11,591] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", + "[2025-01-29 14:59:11,592] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", + "[2025-01-29 14:59:11,593] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:59:11,594] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", + "[2025-01-29 14:59:11,596] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", + "[2025-01-29 14:59:11,599] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", + "[2025-01-29 14:59:12,924] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:59:12,925] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", + "[2025-01-29 14:59:12,926] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:59:12,926] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", + "[2025-01-29 14:59:12,928] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", + "[2025-01-29 14:59:12,930] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 14:59:12,932] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", + "[2025-01-29 14:59:12,934] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", + "[2025-01-29 14:59:12,936] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", "[info] [greedy_scheduler.cpp:372] Scheduler stopped: Some entities are waiting for execution, but there are no periodic or async entities to get out of the deadlock.\n", "[info] [greedy_scheduler.cpp:401] Scheduler finished.\n", - "[info] [gxf_executor.cpp:2213] Deactivating Graph...\n", - "[info] [gxf_executor.cpp:2221] Graph execution finished.\n", - "[2025-01-16 19:00:17,896] [INFO] (__main__.App) - End run\n" + "[info] [gxf_executor.cpp:2243] Deactivating Graph...\n", + "[info] [gxf_executor.cpp:2251] Graph execution finished.\n", + "[2025-01-29 14:59:13,097] [INFO] (__main__.App) - End run\n" ] } ], @@ -1167,70 +1165,70 @@ "name": "stdout", "output_type": "stream", "text": [ - "[\u001b[32minfo\u001b[m] [fragment.cpp:588] Loading extensions from configs...\n", - "[2025-01-16 19:00:24,384] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=['my_app'])\n", - "[2025-01-16 19:00:24,396] [INFO] (root) - AppContext object: AppContext(input_path=dcm, output_path=output, model_path=multi_models, workdir=)\n", - "[2025-01-16 19:00:24,400] [INFO] (root) - End compose\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:262] Creating context\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'input_folder'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'dicom_study_list'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'study_selected_series_list'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'image'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'image'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'output_folder'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'study_selected_series_list'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'seg_image'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'output_folder'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'study_selected_series_list'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1767] creating input IOSpec named 'seg_image'\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2178] Activating Graph...\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2208] Running Graph...\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2210] Waiting for completion...\n", + "[\u001b[32minfo\u001b[m] [fragment.cpp:599] Loading extensions from configs...\n", + "[2025-01-29 14:59:22,117] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=['my_app'])\n", + "[2025-01-29 14:59:22,124] [INFO] (root) - AppContext object: AppContext(input_path=dcm, output_path=output, model_path=multi_models, workdir=)\n", + "[2025-01-29 14:59:22,127] [INFO] (root) - End compose\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:264] Creating context\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'input_folder'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'dicom_study_list'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'output_folder'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'seg_image'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'output_folder'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:1797] creating input IOSpec named 'seg_image'\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2208] Activating Graph...\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2238] Running Graph...\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2240] Waiting for completion...\n", "[\u001b[32minfo\u001b[m] [greedy_scheduler.cpp:191] Scheduling 7 entities\n", - "[2025-01-16 19:00:24,415] [INFO] (monai.deploy.operators.dicom_data_loader_operator.DICOMDataLoaderOperator) - No or invalid input path from the optional input port: None\n", - "[2025-01-16 19:00:24,984] [INFO] (root) - Finding series for Selection named: CT Series\n", - "[2025-01-16 19:00:24,985] [INFO] (root) - Searching study, : 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291\n", + "[2025-01-29 14:59:22,158] [INFO] (monai.deploy.operators.dicom_data_loader_operator.DICOMDataLoaderOperator) - No or invalid input path from the optional input port: None\n", + "[2025-01-29 14:59:23,236] [INFO] (root) - Finding series for Selection named: CT Series\n", + "[2025-01-29 14:59:23,237] [INFO] (root) - Searching study, : 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291\n", " # of series: 1\n", - "[2025-01-16 19:00:24,985] [INFO] (root) - Working on series, instance UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", - "[2025-01-16 19:00:24,985] [INFO] (root) - On attribute: 'StudyDescription' to match value: '(.*?)'\n", - "[2025-01-16 19:00:24,985] [INFO] (root) - Series attribute StudyDescription value: CT ABDOMEN W IV CONTRAST\n", - "[2025-01-16 19:00:24,985] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 19:00:24,985] [INFO] (root) - On attribute: 'Modality' to match value: '(?i)CT'\n", - "[2025-01-16 19:00:24,985] [INFO] (root) - Series attribute Modality value: CT\n", - "[2025-01-16 19:00:24,985] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 19:00:24,985] [INFO] (root) - On attribute: 'SeriesDescription' to match value: '(.*?)'\n", - "[2025-01-16 19:00:24,985] [INFO] (root) - Series attribute SeriesDescription value: ABD/PANC 3.0 B31f\n", - "[2025-01-16 19:00:24,985] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", - "[2025-01-16 19:00:24,985] [INFO] (root) - Selected Series, UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", - "[2025-01-16 19:00:25,298] [INFO] (root) - Parsing from bundle_path: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/multi_models/pancreas_ct_dints/model.ts\n", + "[2025-01-29 14:59:23,237] [INFO] (root) - Working on series, instance UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", + "[2025-01-29 14:59:23,237] [INFO] (root) - On attribute: 'StudyDescription' to match value: '(.*?)'\n", + "[2025-01-29 14:59:23,237] [INFO] (root) - Series attribute StudyDescription value: CT ABDOMEN W IV CONTRAST\n", + "[2025-01-29 14:59:23,237] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:59:23,237] [INFO] (root) - On attribute: 'Modality' to match value: '(?i)CT'\n", + "[2025-01-29 14:59:23,237] [INFO] (root) - Series attribute Modality value: CT\n", + "[2025-01-29 14:59:23,237] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:59:23,237] [INFO] (root) - On attribute: 'SeriesDescription' to match value: '(.*?)'\n", + "[2025-01-29 14:59:23,237] [INFO] (root) - Series attribute SeriesDescription value: ABD/PANC 3.0 B31f\n", + "[2025-01-29 14:59:23,237] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 14:59:23,237] [INFO] (root) - Selected Series, UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", + "[2025-01-29 14:59:23,521] [INFO] (root) - Parsing from bundle_path: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/multi_models/pancreas_ct_dints/model.ts\n", "/home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages/monai/bundle/reference_resolver.py:216: UserWarning: Detected deprecated name 'optional_packages_version' in configuration file, replacing with 'required_packages_version'.\n", " warnings.warn(\n", - "[2025-01-16 19:01:01,037] [INFO] (root) - Parsing from bundle_path: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/multi_models/spleen_ct/model.ts\n", + "[2025-01-29 15:00:02,766] [INFO] (root) - Parsing from bundle_path: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/multi_models/spleen_ct/model.ts\n", "/home/mqin/src/monai-deploy-app-sdk/.venv/lib/python3.10/site-packages/highdicom/base.py:163: UserWarning: The string \"C3N-00198\" is unlikely to represent the intended person name since it contains only a single component. Construct a person name according to the format in described in https://dicom.nema.org/dicom/2013/output/chtml/part05/sect_6.2.html#sect_6.2.1.2, or, in pydicom 2.2.0 or later, use the pydicom.valuerep.PersonName.from_named_components() method to construct the person name correctly. If a single-component name is really intended, add a trailing caret character to disambiguate the name.\n", " check_person_name(patient_name)\n", - "[2025-01-16 19:01:05,078] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 19:01:05,078] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", - "[2025-01-16 19:01:05,078] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 19:01:05,078] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", - "[2025-01-16 19:01:05,079] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", - "[2025-01-16 19:01:05,079] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 19:01:05,079] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", - "[2025-01-16 19:01:05,079] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", - "[2025-01-16 19:01:05,079] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", - "[2025-01-16 19:01:06,446] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 19:01:06,446] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", - "[2025-01-16 19:01:06,447] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 19:01:06,447] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", - "[2025-01-16 19:01:06,447] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", - "[2025-01-16 19:01:06,447] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", - "[2025-01-16 19:01:06,447] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", - "[2025-01-16 19:01:06,448] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", - "[2025-01-16 19:01:06,448] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", + "[2025-01-29 15:00:07,249] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 15:00:07,249] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", + "[2025-01-29 15:00:07,249] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 15:00:07,249] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", + "[2025-01-29 15:00:07,249] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", + "[2025-01-29 15:00:07,250] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 15:00:07,250] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", + "[2025-01-29 15:00:07,250] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", + "[2025-01-29 15:00:07,250] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", + "[2025-01-29 15:00:08,661] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 15:00:08,661] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", + "[2025-01-29 15:00:08,661] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 15:00:08,661] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", + "[2025-01-29 15:00:08,662] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", + "[2025-01-29 15:00:08,662] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 15:00:08,662] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", + "[2025-01-29 15:00:08,663] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", + "[2025-01-29 15:00:08,663] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", "[\u001b[32minfo\u001b[m] [greedy_scheduler.cpp:372] Scheduler stopped: Some entities are waiting for execution, but there are no periodic or async entities to get out of the deadlock.\n", "[\u001b[32minfo\u001b[m] [greedy_scheduler.cpp:401] Scheduler finished.\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2213] Deactivating Graph...\n", - "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2221] Graph execution finished.\n", - "[2025-01-16 19:01:06,563] [INFO] (app.App) - End run\n" + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2243] Deactivating Graph...\n", + "[\u001b[32minfo\u001b[m] [gxf_executor.cpp:2251] Graph execution finished.\n", + "[2025-01-29 15:00:08,802] [INFO] (app.App) - End run\n" ] } ], @@ -1248,8 +1246,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "1.2.826.0.1.3680043.10.511.3.12613710869113605034325699781803316.dcm\n", - "1.2.826.0.1.3680043.10.511.3.31351518962673345162507339120095105.dcm\n" + "1.2.826.0.1.3680043.10.511.3.6770039896233970278223165829656417.dcm\n", + "1.2.826.0.1.3680043.10.511.3.99914275872478204692034716344119025.dcm\n" ] } ], @@ -1327,7 +1325,7 @@ "setuptools>=59.5.0 # for pkg_resources\n", "SimpleITK>=2.0.0\n", "torch>=1.12.0\n", - "holoscan==2.6.0 # avoid v2.7 and v2.8 for a known issue\n" + "holoscan>=2.9.0 # avoid v2.7 and v2.8 for a known issue\n" ] }, { @@ -1350,17 +1348,17 @@ "name": "stdout", "output_type": "stream", "text": [ - "[2025-01-16 19:01:09,441] [INFO] (common) - Downloading CLI manifest file...\n", - "[2025-01-16 19:01:09,679] [DEBUG] (common) - Validating CLI manifest file...\n", - "[2025-01-16 19:01:09,680] [INFO] (packager.parameters) - Application: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/my_app\n", - "[2025-01-16 19:01:09,680] [INFO] (packager.parameters) - Detected application type: Python Module\n", - "[2025-01-16 19:01:09,681] [INFO] (packager) - Scanning for models in /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/multi_models...\n", - "[2025-01-16 19:01:09,681] [DEBUG] (packager) - Model spleen_ct=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/multi_models/spleen_ct added.\n", - "[2025-01-16 19:01:09,681] [DEBUG] (packager) - Model pancreas_ct_dints=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/multi_models/pancreas_ct_dints added.\n", - "[2025-01-16 19:01:09,681] [INFO] (packager) - Reading application configuration from /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/my_app/app.yaml...\n", - "[2025-01-16 19:01:09,687] [INFO] (packager) - Generating app.json...\n", - "[2025-01-16 19:01:09,688] [INFO] (packager) - Generating pkg.json...\n", - "[2025-01-16 19:01:09,692] [DEBUG] (common) - \n", + "[2025-01-29 15:00:11,881] [INFO] (common) - Downloading CLI manifest file...\n", + "[2025-01-29 15:00:12,062] [DEBUG] (common) - Validating CLI manifest file...\n", + "[2025-01-29 15:00:12,063] [INFO] (packager.parameters) - Application: /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/my_app\n", + "[2025-01-29 15:00:12,063] [INFO] (packager.parameters) - Detected application type: Python Module\n", + "[2025-01-29 15:00:12,064] [INFO] (packager) - Scanning for models in /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/multi_models...\n", + "[2025-01-29 15:00:12,064] [DEBUG] (packager) - Model spleen_ct=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/multi_models/spleen_ct added.\n", + "[2025-01-29 15:00:12,064] [DEBUG] (packager) - Model pancreas_ct_dints=/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/multi_models/pancreas_ct_dints added.\n", + "[2025-01-29 15:00:12,064] [INFO] (packager) - Reading application configuration from /home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/my_app/app.yaml...\n", + "[2025-01-29 15:00:12,071] [INFO] (packager) - Generating app.json...\n", + "[2025-01-29 15:00:12,071] [INFO] (packager) - Generating pkg.json...\n", + "[2025-01-29 15:00:12,075] [DEBUG] (common) - \n", "=============== Begin app.json ===============\n", "{\n", " \"apiVersion\": \"1.0.0\",\n", @@ -1395,7 +1393,7 @@ "}\n", "================ End app.json ================\n", " \n", - "[2025-01-16 19:01:09,693] [DEBUG] (common) - \n", + "[2025-01-29 15:00:12,076] [DEBUG] (common) - \n", "=============== Begin pkg.json ===============\n", "{\n", " \"apiVersion\": \"1.0.0\",\n", @@ -1416,7 +1414,7 @@ "}\n", "================ End pkg.json ================\n", " \n", - "[2025-01-16 19:01:10,251] [DEBUG] (packager.builder) - \n", + "[2025-01-29 15:00:12,629] [DEBUG] (packager.builder) - \n", "========== Begin Build Parameters ==========\n", "{'additional_lib_paths': '',\n", " 'app_config_file_path': PosixPath('/home/mqin/src/monai-deploy-app-sdk/notebooks/tutorials/my_app/app.yaml'),\n", @@ -1434,7 +1432,7 @@ " 'full_input_path': PosixPath('/var/holoscan/input'),\n", " 'full_output_path': PosixPath('/var/holoscan/output'),\n", " 'gid': 1000,\n", - " 'holoscan_sdk_version': '2.8.0',\n", + " 'holoscan_sdk_version': '2.9.0',\n", " 'includes': [],\n", " 'input_dir': 'input/',\n", " 'lib_dir': PosixPath('/opt/holoscan/lib'),\n", @@ -1459,7 +1457,7 @@ " 'working_dir': PosixPath('/var/holoscan')}\n", "=========== End Build Parameters ===========\n", "\n", - "[2025-01-16 19:01:10,252] [DEBUG] (packager.builder) - \n", + "[2025-01-29 15:00:12,629] [DEBUG] (packager.builder) - \n", "========== Begin Platform Parameters ==========\n", "{'base_image': 'nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04',\n", " 'build_image': None,\n", @@ -1469,15 +1467,15 @@ " 'custom_monai_deploy_sdk': False,\n", " 'gpu_type': 'dgpu',\n", " 'holoscan_deb_arch': 'amd64',\n", - " 'holoscan_sdk_file': '2.8.0',\n", - " 'holoscan_sdk_filename': '2.8.0',\n", + " 'holoscan_sdk_file': '2.9.0',\n", + " 'holoscan_sdk_filename': '2.9.0',\n", " 'monai_deploy_sdk_file': None,\n", " 'monai_deploy_sdk_filename': None,\n", " 'tag': 'my_app:1.0',\n", " 'target_arch': 'x86_64'}\n", "=========== End Platform Parameters ===========\n", "\n", - "[2025-01-16 19:01:10,293] [DEBUG] (packager.builder) - \n", + "[2025-01-29 15:00:12,672] [DEBUG] (packager.builder) - \n", "========== Begin Dockerfile ==========\n", "\n", "ARG GPU_TYPE=dgpu\n", @@ -1541,7 +1539,7 @@ "LABEL tag=\"my_app:1.0\"\n", "LABEL org.opencontainers.image.title=\"MONAI Deploy App Package - Multi Model App\"\n", "LABEL org.opencontainers.image.version=\"1.0\"\n", - "LABEL org.nvidia.holoscan=\"2.8.0\"\n", + "LABEL org.nvidia.holoscan=\"2.9.0\"\n", "\n", "LABEL org.monai.deploy.app-sdk=\"2.0.0\"\n", "\n", @@ -1556,7 +1554,7 @@ "ENV HOLOSCAN_APP_MANIFEST_PATH=/etc/holoscan/app.json\n", "ENV HOLOSCAN_PKG_MANIFEST_PATH=/etc/holoscan/pkg.json\n", "ENV HOLOSCAN_LOGS_PATH=/var/holoscan/logs\n", - "ENV HOLOSCAN_VERSION=2.8.0\n", + "ENV HOLOSCAN_VERSION=2.9.0\n", "\n", "\n", "\n", @@ -1631,7 +1629,7 @@ "ENTRYPOINT [\"/var/holoscan/tools\"]\n", "=========== End Dockerfile ===========\n", "\n", - "[2025-01-16 19:01:10,294] [INFO] (packager.builder) - \n", + "[2025-01-29 15:00:12,672] [INFO] (packager.builder) - \n", "===============================================================================\n", "Building image for: x64-workstation\n", " Architecture: linux/amd64\n", @@ -1639,21 +1637,22 @@ " Build Image: N/A\n", " Cache: Enabled\n", " Configuration: dgpu\n", - " Holoscan SDK Package: 2.8.0\n", + " Holoscan SDK Package: 2.9.0\n", " MONAI Deploy App SDK Package: N/A\n", " gRPC Health Probe: N/A\n", - " SDK Version: 2.8.0\n", + " SDK Version: 2.9.0\n", " SDK: monai-deploy\n", " Tag: my_app-x64-workstation-dgpu-linux-amd64:1.0\n", " Included features/dependencies: N/A\n", " \n", - "[2025-01-16 19:01:10,575] [INFO] (common) - Using existing Docker BuildKit builder `holoscan_app_builder`\n", - "[2025-01-16 19:01:10,575] [DEBUG] (packager.builder) - Building Holoscan Application Package: tag=my_app-x64-workstation-dgpu-linux-amd64:1.0\n", + "[2025-01-29 15:00:13,368] [INFO] (common) - Using existing Docker BuildKit builder `holoscan_app_builder`\n", + "[2025-01-29 15:00:13,368] [DEBUG] (packager.builder) - Building Holoscan Application Package: tag=my_app-x64-workstation-dgpu-linux-amd64:1.0\n", "#0 building with \"holoscan_app_builder\" instance using docker-container driver\n", "\n", "#1 [internal] load build definition from Dockerfile\n", - "#1 transferring dockerfile: 4.55kB done\n", - "#1 DONE 0.1s\n", + "#1 transferring dockerfile:\n", + "#1 transferring dockerfile: 4.55kB 0.0s done\n", + "#1 DONE 0.4s\n", "\n", "#2 [auth] nvidia/cuda:pull token for nvcr.io\n", "#2 DONE 0.0s\n", @@ -1662,77 +1661,298 @@ "#3 DONE 0.5s\n", "\n", "#4 [internal] load .dockerignore\n", - "#4 transferring context: 1.79kB done\n", + "#4 transferring context: 1.80kB done\n", "#4 DONE 0.1s\n", "\n", - "#5 [internal] load build context\n", - "#5 DONE 0.0s\n", + "#5 importing cache manifest from nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", + "#5 ...\n", "\n", - "#6 importing cache manifest from local:13796336242616328264\n", - "#6 inferred cache manifest type: application/vnd.oci.image.index.v1+json done\n", + "#6 [internal] load build context\n", "#6 DONE 0.0s\n", "\n", - "#7 importing cache manifest from nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", - "#7 inferred cache manifest type: application/vnd.docker.distribution.manifest.list.v2+json done\n", - "#7 DONE 0.3s\n", + "#7 importing cache manifest from local:16203137030623613086\n", + "#7 inferred cache manifest type: application/vnd.oci.image.index.v1+json done\n", + "#7 DONE 0.0s\n", "\n", "#8 [base 1/2] FROM nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04@sha256:22fc009e5cea0b8b91d94c99fdd419d2366810b5ea835e47b8343bc15800c186\n", - "#8 resolve nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04@sha256:22fc009e5cea0b8b91d94c99fdd419d2366810b5ea835e47b8343bc15800c186\n", - "#8 resolve nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04@sha256:22fc009e5cea0b8b91d94c99fdd419d2366810b5ea835e47b8343bc15800c186 0.3s done\n", - "#8 DONE 0.4s\n", + "#8 resolve nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04@sha256:22fc009e5cea0b8b91d94c99fdd419d2366810b5ea835e47b8343bc15800c186 0.0s done\n", + "#8 DONE 0.0s\n", "\n", - "#5 [internal] load build context\n", - "#5 transferring context: 609.10MB 4.3s\n", - "#5 transferring context: 635.92MB 4.5s done\n", - "#5 DONE 4.9s\n", + "#5 importing cache manifest from nvcr.io/nvidia/cuda:12.6.0-runtime-ubuntu22.04\n", + "#5 inferred cache manifest type: application/vnd.docker.distribution.manifest.list.v2+json done\n", + "#5 DONE 0.4s\n", "\n", - "#9 [release 3/18] RUN groupadd -f -g 1000 holoscan\n", + "#6 [internal] load build context\n", + "#6 transferring context: 635.92MB 4.4s done\n", + "#6 DONE 4.6s\n", + "\n", + "#9 [release 8/18] RUN chmod +x /var/holoscan/tools\n", "#9 CACHED\n", "\n", - "#10 [release 11/18] RUN pip install --upgrade pip\n", + "#10 [release 2/18] RUN apt update && apt-get install -y --no-install-recommends --no-install-suggests python3-minimal=3.10.6-1~22.04 libpython3-stdlib=3.10.6-1~22.04 python3=3.10.6-1~22.04 python3-venv=3.10.6-1~22.04 python3-pip=22.0.2+dfsg-* && rm -rf /var/lib/apt/lists/*\n", "#10 CACHED\n", "\n", - "#11 [release 2/18] RUN apt update && apt-get install -y --no-install-recommends --no-install-suggests python3-minimal=3.10.6-1~22.04 libpython3-stdlib=3.10.6-1~22.04 python3=3.10.6-1~22.04 python3-venv=3.10.6-1~22.04 python3-pip=22.0.2+dfsg-* && rm -rf /var/lib/apt/lists/*\n", + "#11 [release 6/18] WORKDIR /var/holoscan\n", "#11 CACHED\n", "\n", - "#12 [base 2/2] RUN apt-get update && apt-get install -y --no-install-recommends --no-install-suggests curl jq && rm -rf /var/lib/apt/lists/*\n", + "#12 [release 3/18] RUN groupadd -f -g 1000 holoscan\n", "#12 CACHED\n", "\n", - "#13 [release 1/18] RUN mkdir -p /etc/holoscan/ && mkdir -p /opt/holoscan/ && mkdir -p /var/holoscan && mkdir -p /opt/holoscan/app && mkdir -p /var/holoscan/input && mkdir -p /var/holoscan/output\n", + "#13 [release 5/18] RUN chown -R holoscan /var/holoscan && chown -R holoscan /var/holoscan/input && chown -R holoscan /var/holoscan/output\n", "#13 CACHED\n", "\n", - "#14 [release 6/18] WORKDIR /var/holoscan\n", + "#14 [base 2/2] RUN apt-get update && apt-get install -y --no-install-recommends --no-install-suggests curl jq && rm -rf /var/lib/apt/lists/*\n", "#14 CACHED\n", "\n", - "#15 [release 10/18] COPY ./pip/requirements.txt /tmp/requirements.txt\n", + "#15 [release 7/18] COPY ./tools /var/holoscan/tools\n", "#15 CACHED\n", "\n", - "#16 [release 5/18] RUN chown -R holoscan /var/holoscan && chown -R holoscan /var/holoscan/input && chown -R holoscan /var/holoscan/output\n", + "#16 [release 9/18] WORKDIR /var/holoscan\n", "#16 CACHED\n", "\n", - "#17 [release 7/18] COPY ./tools /var/holoscan/tools\n", + "#17 [release 10/18] COPY ./pip/requirements.txt /tmp/requirements.txt\n", "#17 CACHED\n", "\n", - "#18 [release 12/18] RUN pip install --no-cache-dir --user -r /tmp/requirements.txt\n", + "#18 [release 4/18] RUN useradd -rm -d /home/holoscan -s /bin/bash -g 1000 -G sudo -u 1000 holoscan\n", "#18 CACHED\n", "\n", - "#19 [release 4/18] RUN useradd -rm -d /home/holoscan -s /bin/bash -g 1000 -G sudo -u 1000 holoscan\n", + "#19 [release 1/18] RUN mkdir -p /etc/holoscan/ && mkdir -p /opt/holoscan/ && mkdir -p /var/holoscan && mkdir -p /opt/holoscan/app && mkdir -p /var/holoscan/input && mkdir -p /var/holoscan/output\n", "#19 CACHED\n", "\n", - "#20 [release 8/18] RUN chmod +x /var/holoscan/tools\n", + "#20 [release 11/18] RUN pip install --upgrade pip\n", "#20 CACHED\n", "\n", - "#21 [release 9/18] WORKDIR /var/holoscan\n", - "#21 CACHED\n", + "#21 [release 12/18] RUN pip install --no-cache-dir --user -r /tmp/requirements.txt\n", + "#21 1.022 Collecting highdicom>=0.18.2 (from -r /tmp/requirements.txt (line 1))\n", + "#21 1.037 Downloading highdicom-0.24.0-py3-none-any.whl.metadata (4.7 kB)\n", + "#21 1.121 Collecting monai>=1.0 (from -r /tmp/requirements.txt (line 2))\n", + "#21 1.127 Downloading monai-1.4.0-py3-none-any.whl.metadata (11 kB)\n", + "#21 1.262 Collecting nibabel>=3.2.1 (from -r /tmp/requirements.txt (line 3))\n", + "#21 1.267 Downloading nibabel-5.3.2-py3-none-any.whl.metadata (9.1 kB)\n", + "#21 1.541 Collecting numpy>=1.21.6 (from -r /tmp/requirements.txt (line 4))\n", + "#21 1.546 Downloading numpy-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (62 kB)\n", + "#21 1.564 Collecting pydicom>=2.3.0 (from -r /tmp/requirements.txt (line 5))\n", + "#21 1.570 Downloading pydicom-3.0.1-py3-none-any.whl.metadata (9.4 kB)\n", + "#21 1.579 Requirement already satisfied: setuptools>=59.5.0 in /usr/lib/python3/dist-packages (from -r /tmp/requirements.txt (line 6)) (59.6.0)\n", + "#21 1.627 Collecting SimpleITK>=2.0.0 (from -r /tmp/requirements.txt (line 7))\n", + "#21 1.631 Downloading SimpleITK-2.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (7.9 kB)\n", + "#21 1.662 Collecting torch>=1.12.0 (from -r /tmp/requirements.txt (line 8))\n", + "#21 1.667 Downloading torch-2.6.0-cp310-cp310-manylinux1_x86_64.whl.metadata (28 kB)\n", + "#21 1.682 Collecting holoscan>=2.9.0 (from -r /tmp/requirements.txt (line 9))\n", + "#21 1.686 Downloading holoscan-2.9.0-cp310-cp310-manylinux_2_35_x86_64.whl.metadata (7.3 kB)\n", + "#21 1.823 Collecting pillow>=8.3 (from highdicom>=0.18.2->-r /tmp/requirements.txt (line 1))\n", + "#21 1.827 Downloading pillow-11.1.0-cp310-cp310-manylinux_2_28_x86_64.whl.metadata (9.1 kB)\n", + "#21 1.847 Collecting pyjpegls>=1.0.0 (from highdicom>=0.18.2->-r /tmp/requirements.txt (line 1))\n", + "#21 1.852 Downloading pyjpegls-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.5 kB)\n", + "#21 1.871 Collecting typing-extensions>=4.0.0 (from highdicom>=0.18.2->-r /tmp/requirements.txt (line 1))\n", + "#21 1.874 Downloading typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)\n", + "#21 1.883 Collecting numpy>=1.21.6 (from -r /tmp/requirements.txt (line 4))\n", + "#21 1.886 Downloading numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)\n", + "#21 1.917 Collecting importlib-resources>=5.12 (from nibabel>=3.2.1->-r /tmp/requirements.txt (line 3))\n", + "#21 1.922 Downloading importlib_resources-6.5.2-py3-none-any.whl.metadata (3.9 kB)\n", + "#21 1.982 Collecting packaging>=20 (from nibabel>=3.2.1->-r /tmp/requirements.txt (line 3))\n", + "#21 1.986 Downloading packaging-24.2-py3-none-any.whl.metadata (3.2 kB)\n", + "#21 2.023 Collecting filelock (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.027 Downloading filelock-3.17.0-py3-none-any.whl.metadata (2.9 kB)\n", + "#21 2.066 Collecting networkx (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.071 Downloading networkx-3.4.2-py3-none-any.whl.metadata (6.3 kB)\n", + "#21 2.103 Collecting jinja2 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.110 Downloading jinja2-3.1.5-py3-none-any.whl.metadata (2.6 kB)\n", + "#21 2.137 Collecting fsspec (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.141 Downloading fsspec-2024.12.0-py3-none-any.whl.metadata (11 kB)\n", + "#21 2.219 Collecting nvidia-cuda-nvrtc-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.223 Downloading nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 2.235 Collecting nvidia-cuda-runtime-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.240 Downloading nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 2.247 Collecting nvidia-cuda-cupti-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.251 Downloading nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", + "#21 2.271 Collecting nvidia-cudnn-cu12==9.1.0.70 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.276 Downloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", + "#21 2.287 Collecting nvidia-cublas-cu12==12.4.5.8 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.291 Downloading nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 2.301 Collecting nvidia-cufft-cu12==11.2.1.3 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.304 Downloading nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 2.313 Collecting nvidia-curand-cu12==10.3.5.147 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.317 Downloading nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 2.325 Collecting nvidia-cusolver-cu12==11.6.1.9 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.328 Downloading nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", + "#21 2.339 Collecting nvidia-cusparse-cu12==12.3.1.170 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.342 Downloading nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", + "#21 2.348 Collecting nvidia-cusparselt-cu12==0.6.2 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.351 Downloading nvidia_cusparselt_cu12-0.6.2-py3-none-manylinux2014_x86_64.whl.metadata (6.8 kB)\n", + "#21 2.359 Collecting nvidia-nccl-cu12==2.21.5 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.363 Downloading nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl.metadata (1.8 kB)\n", + "#21 2.377 Collecting nvidia-nvtx-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.382 Downloading nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.7 kB)\n", + "#21 2.396 Collecting nvidia-nvjitlink-cu12==12.4.127 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.401 Downloading nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "#21 2.418 Collecting triton==3.2.0 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.423 Downloading triton-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.4 kB)\n", + "#21 2.445 Collecting sympy==1.13.1 (from torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.450 Downloading sympy-1.13.1-py3-none-any.whl.metadata (12 kB)\n", + "#21 2.488 Collecting mpmath<1.4,>=1.1.0 (from sympy==1.13.1->torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 2.492 Downloading mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)\n", + "#21 2.502 Requirement already satisfied: pip>22.0.2 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 9)) (25.0)\n", + "#21 2.517 Collecting cupy-cuda12x<14.0,>=12.2 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 2.523 Downloading cupy_cuda12x-13.3.0-cp310-cp310-manylinux2014_x86_64.whl.metadata (2.7 kB)\n", + "#21 2.564 Collecting cloudpickle<4.0,>=3.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 2.568 Downloading cloudpickle-3.1.1-py3-none-any.whl.metadata (7.1 kB)\n", + "#21 2.669 Collecting python-on-whales<1.0,>=0.60.1 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 2.673 Downloading python_on_whales-0.75.1-py3-none-any.whl.metadata (18 kB)\n", + "#21 2.707 Collecting pyyaml<7.0,>=6.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 2.711 Downloading PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)\n", + "#21 2.742 Collecting requests<3.0,>=2.31.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 2.748 Downloading requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)\n", + "#21 2.862 Collecting psutil<7.0,>=6.0.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 2.867 Downloading psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (22 kB)\n", + "#21 2.884 Collecting wheel-axle-runtime<1.0 (from holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 2.889 Downloading wheel_axle_runtime-0.0.6-py3-none-any.whl.metadata (8.1 kB)\n", + "#21 2.939 Collecting fastrlock>=0.5 (from cupy-cuda12x<14.0,>=12.2->holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 2.946 Downloading fastrlock-0.8.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl.metadata (7.7 kB)\n", + "#21 3.034 Collecting MarkupSafe>=2.0 (from jinja2->torch>=1.12.0->-r /tmp/requirements.txt (line 8))\n", + "#21 3.040 Downloading MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)\n", + "#21 3.057 INFO: pip is looking at multiple versions of pyjpegls to determine which version is compatible with other requirements. This could take a while.\n", + "#21 3.058 Collecting pyjpegls>=1.0.0 (from highdicom>=0.18.2->-r /tmp/requirements.txt (line 1))\n", + "#21 3.064 Downloading pyjpegls-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.5 kB)\n", + "#21 3.074 Downloading pyjpegls-1.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.5 kB)\n", + "#21 3.266 Collecting pydantic!=2.0.*,<3,>=2 (from python-on-whales<1.0,>=0.60.1->holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 3.271 Downloading pydantic-2.10.6-py3-none-any.whl.metadata (30 kB)\n", + "#21 3.394 Collecting charset-normalizer<4,>=2 (from requests<3.0,>=2.31.0->holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 3.398 Downloading charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB)\n", + "#21 3.417 Collecting idna<4,>=2.5 (from requests<3.0,>=2.31.0->holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 3.426 Downloading idna-3.10-py3-none-any.whl.metadata (10 kB)\n", + "#21 3.479 Collecting urllib3<3,>=1.21.1 (from requests<3.0,>=2.31.0->holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 3.484 Downloading urllib3-2.3.0-py3-none-any.whl.metadata (6.5 kB)\n", + "#21 3.515 Collecting certifi>=2017.4.17 (from requests<3.0,>=2.31.0->holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 3.520 Downloading certifi-2024.12.14-py3-none-any.whl.metadata (2.3 kB)\n", + "#21 3.578 Collecting annotated-types>=0.6.0 (from pydantic!=2.0.*,<3,>=2->python-on-whales<1.0,>=0.60.1->holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 3.583 Downloading annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)\n", + "#21 4.171 Collecting pydantic-core==2.27.2 (from pydantic!=2.0.*,<3,>=2->python-on-whales<1.0,>=0.60.1->holoscan>=2.9.0->-r /tmp/requirements.txt (line 9))\n", + "#21 4.175 Downloading pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)\n", + "#21 4.199 Downloading highdicom-0.24.0-py3-none-any.whl (1.1 MB)\n", + "#21 4.216 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 99.0 MB/s eta 0:00:00\n", + "#21 4.222 Downloading monai-1.4.0-py3-none-any.whl (1.5 MB)\n", + "#21 4.240 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 106.6 MB/s eta 0:00:00\n", + "#21 4.246 Downloading nibabel-5.3.2-py3-none-any.whl (3.3 MB)\n", + "#21 4.277 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 116.6 MB/s eta 0:00:00\n", + "#21 4.284 Downloading numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.2 MB)\n", + "#21 4.443 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.2/18.2 MB 117.0 MB/s eta 0:00:00\n", + "#21 4.453 Downloading pydicom-3.0.1-py3-none-any.whl (2.4 MB)\n", + "#21 4.475 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.4/2.4 MB 119.4 MB/s eta 0:00:00\n", + "#21 4.482 Downloading SimpleITK-2.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (52.4 MB)\n", + "#21 5.193 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 52.4/52.4 MB 74.2 MB/s eta 0:00:00\n", + "#21 5.203 Downloading torch-2.6.0-cp310-cp310-manylinux1_x86_64.whl (766.7 MB)\n", + "#21 12.95 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 766.7/766.7 MB 95.8 MB/s eta 0:00:00\n", + "#21 12.96 Downloading nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl (363.4 MB)\n", + "#21 16.33 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 363.4/363.4 MB 106.8 MB/s eta 0:00:00\n", + "#21 16.34 Downloading nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (13.8 MB)\n", + "#21 16.46 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.8/13.8 MB 117.7 MB/s eta 0:00:00\n", + "#21 16.47 Downloading nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (24.6 MB)\n", + "#21 16.68 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.6/24.6 MB 117.0 MB/s eta 0:00:00\n", + "#21 16.69 Downloading nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (883 kB)\n", + "#21 16.70 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 883.7/883.7 kB 148.8 MB/s eta 0:00:00\n", + "#21 16.71 Downloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)\n", + "#21 23.30 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 664.8/664.8 MB 104.7 MB/s eta 0:00:00\n", + "#21 23.30 Downloading nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl (211.5 MB)\n", + "#21 25.14 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 211.5/211.5 MB 115.6 MB/s eta 0:00:00\n", + "#21 25.14 Downloading nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl (56.3 MB)\n", + "#21 25.63 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.3/56.3 MB 116.8 MB/s eta 0:00:00\n", + "#21 25.64 Downloading nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl (127.9 MB)\n", + "#21 26.77 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 127.9/127.9 MB 114.0 MB/s eta 0:00:00\n", + "#21 26.77 Downloading nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl (207.5 MB)\n", + "#21 28.66 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 207.5/207.5 MB 110.3 MB/s eta 0:00:00\n", + "#21 28.66 Downloading nvidia_cusparselt_cu12-0.6.2-py3-none-manylinux2014_x86_64.whl (150.1 MB)\n", + "#21 30.57 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 150.1/150.1 MB 78.8 MB/s eta 0:00:00\n", + "#21 30.58 Downloading nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl (188.7 MB)\n", + "#21 32.20 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 188.7/188.7 MB 117.2 MB/s eta 0:00:00\n", + "#21 32.20 Downloading nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (21.1 MB)\n", + "#21 32.39 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 21.1/21.1 MB 117.1 MB/s eta 0:00:00\n", + "#21 32.39 Downloading nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (99 kB)\n", + "#21 32.40 Downloading sympy-1.13.1-py3-none-any.whl (6.2 MB)\n", + "#21 32.46 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.2/6.2 MB 113.4 MB/s eta 0:00:00\n", + "#21 32.47 Downloading triton-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (253.1 MB)\n", + "#21 35.20 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 253.1/253.1 MB 92.7 MB/s eta 0:00:00\n", + "#21 35.21 Downloading holoscan-2.9.0-cp310-cp310-manylinux_2_35_x86_64.whl (41.1 MB)\n", + "#21 35.74 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 41.1/41.1 MB 77.7 MB/s eta 0:00:00\n", + "#21 35.75 Downloading cloudpickle-3.1.1-py3-none-any.whl (20 kB)\n", + "#21 35.76 Downloading cupy_cuda12x-13.3.0-cp310-cp310-manylinux2014_x86_64.whl (90.6 MB)\n", + "#21 37.09 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6/90.6 MB 68.2 MB/s eta 0:00:00\n", + "#21 37.10 Downloading importlib_resources-6.5.2-py3-none-any.whl (37 kB)\n", + "#21 37.10 Downloading jinja2-3.1.5-py3-none-any.whl (134 kB)\n", + "#21 37.11 Downloading packaging-24.2-py3-none-any.whl (65 kB)\n", + "#21 37.11 Downloading pillow-11.1.0-cp310-cp310-manylinux_2_28_x86_64.whl (4.5 MB)\n", + "#21 37.16 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.5/4.5 MB 116.4 MB/s eta 0:00:00\n", + "#21 37.16 Downloading psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (287 kB)\n", + "#21 37.17 Downloading pyjpegls-1.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB)\n", + "#21 37.20 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.7/2.7 MB 119.3 MB/s eta 0:00:00\n", + "#21 37.21 Downloading python_on_whales-0.75.1-py3-none-any.whl (114 kB)\n", + "#21 37.22 Downloading PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (751 kB)\n", + "#21 37.24 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 751.2/751.2 kB 115.0 MB/s eta 0:00:00\n", + "#21 37.25 Downloading requests-2.32.3-py3-none-any.whl (64 kB)\n", + "#21 37.25 Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)\n", + "#21 37.26 Downloading wheel_axle_runtime-0.0.6-py3-none-any.whl (14 kB)\n", + "#21 37.26 Downloading filelock-3.17.0-py3-none-any.whl (16 kB)\n", + "#21 37.27 Downloading fsspec-2024.12.0-py3-none-any.whl (183 kB)\n", + "#21 37.28 Downloading networkx-3.4.2-py3-none-any.whl (1.7 MB)\n", + "#21 37.30 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 118.4 MB/s eta 0:00:00\n", + "#21 37.30 Downloading certifi-2024.12.14-py3-none-any.whl (164 kB)\n", + "#21 37.31 Downloading charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (146 kB)\n", + "#21 37.31 Downloading fastrlock-0.8.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl (53 kB)\n", + "#21 37.32 Downloading idna-3.10-py3-none-any.whl (70 kB)\n", + "#21 37.32 Downloading MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20 kB)\n", + "#21 37.33 Downloading mpmath-1.3.0-py3-none-any.whl (536 kB)\n", + "#21 37.34 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 536.2/536.2 kB 168.9 MB/s eta 0:00:00\n", + "#21 37.34 Downloading pydantic-2.10.6-py3-none-any.whl (431 kB)\n", + "#21 37.35 Downloading pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB)\n", + "#21 37.37 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.0/2.0 MB 123.9 MB/s eta 0:00:00\n", + "#21 37.38 Downloading urllib3-2.3.0-py3-none-any.whl (128 kB)\n", + "#21 37.38 Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB)\n", + "#21 50.73 Installing collected packages: triton, SimpleITK, nvidia-cusparselt-cu12, mpmath, fastrlock, urllib3, typing-extensions, sympy, pyyaml, pydicom, psutil, pillow, packaging, nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, numpy, networkx, MarkupSafe, importlib-resources, idna, fsspec, filelock, cloudpickle, charset-normalizer, certifi, annotated-types, wheel-axle-runtime, requests, pyjpegls, pydantic-core, nvidia-cusparse-cu12, nvidia-cudnn-cu12, nibabel, jinja2, cupy-cuda12x, pydantic, nvidia-cusolver-cu12, highdicom, torch, python-on-whales, monai, holoscan\n", + "#21 120.9 Successfully installed MarkupSafe-3.0.2 SimpleITK-2.4.1 annotated-types-0.7.0 certifi-2024.12.14 charset-normalizer-3.4.1 cloudpickle-3.1.1 cupy-cuda12x-13.3.0 fastrlock-0.8.3 filelock-3.17.0 fsspec-2024.12.0 highdicom-0.24.0 holoscan-2.9.0 idna-3.10 importlib-resources-6.5.2 jinja2-3.1.5 monai-1.4.0 mpmath-1.3.0 networkx-3.4.2 nibabel-5.3.2 numpy-1.26.4 nvidia-cublas-cu12-12.4.5.8 nvidia-cuda-cupti-cu12-12.4.127 nvidia-cuda-nvrtc-cu12-12.4.127 nvidia-cuda-runtime-cu12-12.4.127 nvidia-cudnn-cu12-9.1.0.70 nvidia-cufft-cu12-11.2.1.3 nvidia-curand-cu12-10.3.5.147 nvidia-cusolver-cu12-11.6.1.9 nvidia-cusparse-cu12-12.3.1.170 nvidia-cusparselt-cu12-0.6.2 nvidia-nccl-cu12-2.21.5 nvidia-nvjitlink-cu12-12.4.127 nvidia-nvtx-cu12-12.4.127 packaging-24.2 pillow-11.1.0 psutil-6.1.1 pydantic-2.10.6 pydantic-core-2.27.2 pydicom-3.0.1 pyjpegls-1.4.0 python-on-whales-0.75.1 pyyaml-6.0.2 requests-2.32.3 sympy-1.13.1 torch-2.6.0 triton-3.2.0 typing-extensions-4.12.2 urllib3-2.3.0 wheel-axle-runtime-0.0.6\n", + "#21 DONE 122.3s\n", "\n", "#22 [release 13/18] RUN pip install monai-deploy-app-sdk==2.0.0\n", - "#22 CACHED\n", + "#22 1.371 Defaulting to user installation because normal site-packages is not writeable\n", + "#22 1.566 Collecting monai-deploy-app-sdk==2.0.0\n", + "#22 1.620 Downloading monai_deploy_app_sdk-2.0.0-py3-none-any.whl (132 kB)\n", + "#22 1.653 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 132.6/132.6 KB 4.9 MB/s eta 0:00:00\n", + "#22 1.673 Requirement already satisfied: numpy>=1.21.6 in /home/holoscan/.local/lib/python3.10/site-packages (from monai-deploy-app-sdk==2.0.0) (1.26.4)\n", + "#22 1.735 Collecting colorama>=0.4.1\n", + "#22 1.742 Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n", + "#22 1.803 Collecting typeguard>=3.0.0\n", + "#22 1.807 Downloading typeguard-4.4.1-py3-none-any.whl (35 kB)\n", + "#22 1.817 Requirement already satisfied: holoscan~=2.0 in /home/holoscan/.local/lib/python3.10/site-packages (from monai-deploy-app-sdk==2.0.0) (2.9.0)\n", + "#22 1.833 Requirement already satisfied: psutil<7.0,>=6.0.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (6.1.1)\n", + "#22 1.834 Requirement already satisfied: wheel-axle-runtime<1.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.0.6)\n", + "#22 1.835 Requirement already satisfied: Jinja2<4.0,>=3.1.3 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.1.5)\n", + "#22 1.836 Requirement already satisfied: requests<3.0,>=2.31.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.32.3)\n", + "#22 1.837 Requirement already satisfied: packaging>=23.1 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (24.2)\n", + "#22 1.838 Requirement already satisfied: cloudpickle<4.0,>=3.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.1.1)\n", + "#22 1.839 Requirement already satisfied: pyyaml<7.0,>=6.0 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (6.0.2)\n", + "#22 1.839 Requirement already satisfied: python-on-whales<1.0,>=0.60.1 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.75.1)\n", + "#22 1.840 Requirement already satisfied: cupy-cuda12x<14.0,>=12.2 in /home/holoscan/.local/lib/python3.10/site-packages (from holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (13.3.0)\n", + "#22 1.911 Collecting pip>22.0.2\n", + "#22 1.924 Using cached pip-25.0-py3-none-any.whl (1.8 MB)\n", + "#22 1.949 Requirement already satisfied: typing-extensions>=4.10.0 in /home/holoscan/.local/lib/python3.10/site-packages (from typeguard>=3.0.0->monai-deploy-app-sdk==2.0.0) (4.12.2)\n", + "#22 1.964 Requirement already satisfied: fastrlock>=0.5 in /home/holoscan/.local/lib/python3.10/site-packages (from cupy-cuda12x<14.0,>=12.2->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.8.3)\n", + "#22 1.968 Requirement already satisfied: MarkupSafe>=2.0 in /home/holoscan/.local/lib/python3.10/site-packages (from Jinja2<4.0,>=3.1.3->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.0.2)\n", + "#22 1.994 Requirement already satisfied: pydantic!=2.0.*,<3,>=2 in /home/holoscan/.local/lib/python3.10/site-packages (from python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.10.6)\n", + "#22 2.005 Requirement already satisfied: certifi>=2017.4.17 in /home/holoscan/.local/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2024.12.14)\n", + "#22 2.007 Requirement already satisfied: idna<4,>=2.5 in /home/holoscan/.local/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.10)\n", + "#22 2.008 Requirement already satisfied: urllib3<3,>=1.21.1 in /home/holoscan/.local/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.3.0)\n", + "#22 2.009 Requirement already satisfied: charset-normalizer<4,>=2 in /home/holoscan/.local/lib/python3.10/site-packages (from requests<3.0,>=2.31.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.4.1)\n", + "#22 2.018 Requirement already satisfied: filelock in /home/holoscan/.local/lib/python3.10/site-packages (from wheel-axle-runtime<1.0->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (3.17.0)\n", + "#22 2.044 Requirement already satisfied: pydantic-core==2.27.2 in /home/holoscan/.local/lib/python3.10/site-packages (from pydantic!=2.0.*,<3,>=2->python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (2.27.2)\n", + "#22 2.045 Requirement already satisfied: annotated-types>=0.6.0 in /home/holoscan/.local/lib/python3.10/site-packages (from pydantic!=2.0.*,<3,>=2->python-on-whales<1.0,>=0.60.1->holoscan~=2.0->monai-deploy-app-sdk==2.0.0) (0.7.0)\n", + "#22 2.491 Installing collected packages: typeguard, pip, colorama, monai-deploy-app-sdk\n", + "#22 3.518 Successfully installed colorama-0.4.6 monai-deploy-app-sdk-2.0.0 pip-25.0 typeguard-4.4.1\n", + "#22 DONE 3.7s\n", "\n", "#23 [release 14/18] COPY ./models /opt/holoscan/models\n", - "#23 DONE 3.7s\n", + "#23 DONE 2.4s\n", "\n", "#24 [release 15/18] COPY ./map/app.json /etc/holoscan/app.json\n", - "#24 DONE 0.2s\n", + "#24 DONE 0.1s\n", "\n", "#25 [release 16/18] COPY ./app.config /var/holoscan/app.yaml\n", "#25 DONE 0.1s\n", @@ -1745,90 +1965,94 @@ "\n", "#28 exporting to docker image format\n", "#28 exporting layers\n", - "#28 exporting layers 21.4s done\n", - "#28 exporting manifest sha256:160627d173b89b905ee42134a0bc000786ea24de749605087520765e4d8f75ad 0.0s done\n", - "#28 exporting config sha256:2cec2b8471b737b0a5cc08201001d101e3bf3c0acb122fbc66c3c407e559b849 0.0s done\n", + "#28 exporting layers 206.4s done\n", + "#28 exporting manifest sha256:7796b1f150f7b83d9b887b3a8fc46ac5edde925a0aae4b3502d7637952da2aca 0.0s done\n", + "#28 exporting config sha256:b9c42a576652b4a8d6579e9068e22d8fd09cdc9906a5b6d514c7e958be6f7862 0.0s done\n", "#28 sending tarball\n", "#28 ...\n", "\n", "#29 importing to docker\n", - "#29 loading layer 883c651eec94 288B / 288B\n", - "#29 loading layer 882e8f4cf156 65.54kB / 5.03MB\n", - "#29 loading layer 9f353f6d59ee 557.06kB / 3.28GB\n", - "#29 loading layer 9f353f6d59ee 172.13MB / 3.28GB 6.3s\n", - "#29 loading layer 9f353f6d59ee 450.66MB / 3.28GB 12.5s\n", - "#29 loading layer 9f353f6d59ee 705.79MB / 3.28GB 16.6s\n", - "#29 loading layer 9f353f6d59ee 1.00GB / 3.28GB 20.7s\n", - "#29 loading layer 9f353f6d59ee 1.27GB / 3.28GB 24.8s\n", - "#29 loading layer 9f353f6d59ee 1.58GB / 3.28GB 28.9s\n", - "#29 loading layer 9f353f6d59ee 1.87GB / 3.28GB 33.0s\n", - "#29 loading layer 9f353f6d59ee 2.05GB / 3.28GB 35.1s\n", - "#29 loading layer 9f353f6d59ee 2.16GB / 3.28GB 41.4s\n", - "#29 loading layer 9f353f6d59ee 2.34GB / 3.28GB 45.5s\n", - "#29 loading layer 9f353f6d59ee 2.60GB / 3.28GB 51.7s\n", - "#29 loading layer 9f353f6d59ee 2.87GB / 3.28GB 55.8s\n", - "#29 loading layer 9f353f6d59ee 3.07GB / 3.28GB 59.9s\n", - "#29 loading layer ca1fe5d06ea9 32.77kB / 579.10kB\n", - "#29 loading layer 5b004da2b414 557.06kB / 584.49MB\n", - "#29 loading layer 5b004da2b414 209.45MB / 584.49MB 2.1s\n", - "#29 loading layer 5b004da2b414 422.25MB / 584.49MB 4.2s\n", - "#29 loading layer fef80c23fbdb 491B / 491B\n", - "#29 loading layer c137f7238509 314B / 314B\n", - "#29 loading layer a4ec9d927738 327B / 327B\n", - "#29 loading layer 30d486f32260 4.04kB / 4.04kB\n", - "#29 loading layer c137f7238509 314B / 314B 0.7s done\n", - "#29 loading layer 883c651eec94 288B / 288B 73.6s done\n", - "#29 loading layer 882e8f4cf156 65.54kB / 5.03MB 73.5s done\n", - "#29 loading layer 9f353f6d59ee 3.21GB / 3.28GB 73.0s done\n", - "#29 loading layer ca1fe5d06ea9 32.77kB / 579.10kB 7.2s done\n", - "#29 loading layer 5b004da2b414 422.25MB / 584.49MB 6.6s done\n", - "#29 loading layer fef80c23fbdb 491B / 491B 0.8s done\n", - "#29 loading layer a4ec9d927738 327B / 327B 0.7s done\n", - "#29 loading layer 30d486f32260 4.04kB / 4.04kB 0.6s done\n", - "#29 DONE 73.6s\n", + "#29 loading layer 4e7654462151 557.06kB / 3.34GB\n", + "#29 loading layer 4e7654462151 140.38MB / 3.34GB 6.4s\n", + "#29 loading layer 4e7654462151 350.39MB / 3.34GB 12.7s\n", + "#29 loading layer 4e7654462151 549.26MB / 3.34GB 18.9s\n", + "#29 loading layer 4e7654462151 783.78MB / 3.34GB 23.1s\n", + "#29 loading layer 4e7654462151 968.16MB / 3.34GB 27.2s\n", + "#29 loading layer 4e7654462151 1.19GB / 3.34GB 31.3s\n", + "#29 loading layer 4e7654462151 1.37GB / 3.34GB 35.3s\n", + "#29 loading layer 4e7654462151 1.55GB / 3.34GB 39.4s\n", + "#29 loading layer 4e7654462151 1.80GB / 3.34GB 43.4s\n", + "#29 loading layer 4e7654462151 2.02GB / 3.34GB 47.5s\n", + "#29 loading layer 4e7654462151 2.27GB / 3.34GB 51.6s\n", + "#29 loading layer 4e7654462151 2.31GB / 3.34GB 58.3s\n", + "#29 loading layer 4e7654462151 2.43GB / 3.34GB 64.7s\n", + "#29 loading layer 4e7654462151 2.62GB / 3.34GB 68.7s\n", + "#29 loading layer 4e7654462151 2.86GB / 3.34GB 72.9s\n", + "#29 loading layer 4e7654462151 3.04GB / 3.34GB 77.0s\n", + "#29 loading layer 4e7654462151 3.23GB / 3.34GB 83.2s\n", + "#29 loading layer 23ba8544cc7e 65.54kB / 3.82MB\n", + "#29 loading layer 2a706ddec870 557.06kB / 584.49MB\n", + "#29 loading layer 2a706ddec870 100.83MB / 584.49MB 2.1s\n", + "#29 loading layer 2a706ddec870 289.11MB / 584.49MB 4.1s\n", + "#29 loading layer 2a706ddec870 445.64MB / 584.49MB 6.2s\n", + "#29 loading layer 2a706ddec870 584.49MB / 584.49MB 8.3s\n", + "#29 loading layer 14707cfba07c 492B / 492B\n", + "#29 loading layer d97f86cb4552 313B / 313B\n", + "#29 loading layer 1684cea86f9e 324B / 324B\n", + "#29 loading layer 6a14ef597340 4.04kB / 4.04kB\n", + "#29 loading layer d97f86cb4552 313B / 313B 0.5s done\n", + "#29 loading layer 4e7654462151 3.29GB / 3.34GB 96.8s done\n", + "#29 loading layer 23ba8544cc7e 65.54kB / 3.82MB 9.6s done\n", + "#29 loading layer 2a706ddec870 584.49MB / 584.49MB 8.9s done\n", + "#29 loading layer 14707cfba07c 492B / 492B 0.5s done\n", + "#29 loading layer 1684cea86f9e 324B / 324B 0.4s done\n", + "#29 loading layer 6a14ef597340 4.04kB / 4.04kB 0.3s done\n", + "#29 DONE 96.8s\n", "\n", "#28 exporting to docker image format\n", - "#28 sending tarball 126.9s done\n", - "#28 DONE 148.4s\n", + "#28 sending tarball 144.5s done\n", + "#28 DONE 351.0s\n", "\n", "#30 exporting cache to client directory\n", "#30 preparing build cache for export\n", - "#30 writing layer sha256:081bfe8f8e11e818382810bb80503f619230a484153219082adae168fbf8396c\n", - "#30 writing layer sha256:081bfe8f8e11e818382810bb80503f619230a484153219082adae168fbf8396c done\n", + "#30 writing layer sha256:067153055e77a79b3715e3a56caac895ee686a2fa6cadc4423c28d2eb20f0542\n", + "#30 writing layer sha256:067153055e77a79b3715e3a56caac895ee686a2fa6cadc4423c28d2eb20f0542 done\n", "#30 writing layer sha256:1a0d52c93099897b518eb6cc6cd0fa3d52ff733e8606b4d8c92675ba9e7101ff done\n", - "#30 writing layer sha256:2168eca868b33ee70924a8965c5274a65760dc417df35352561a4df9541dbf27 0.0s done\n", "#30 writing layer sha256:234b866f57e0c5d555af2d87a1857a17ec4ac7e70d2dc6c31ff0a072a4607f24 done\n", "#30 writing layer sha256:255905badeaa82f032e1043580eed8b745c19cd4a2cb7183883ee5a30f851d6d done\n", "#30 writing layer sha256:3713021b02770a720dea9b54c03d0ed83e03a2ef5dce2898c56a327fee9a8bca done\n", "#30 writing layer sha256:3a80776cdc9c9ef79bb38510849c9160f82462d346bf5a8bf29c811391b4e763 done\n", - "#30 writing layer sha256:3ff1ad619531728d61adb57d27b79c10fa17f13b6a0693730bdf1d1e6d2eb2b0 0.0s done\n", - "#30 writing layer sha256:41e173df84c503c9e717e0e67c22260d4e6bb14660577b225dec5733b4155a78 done\n", - "#30 writing layer sha256:45a11df8fc21851a3008fe386358f1172c0c589095845f174d42bb86db2f1c49 done\n", + "#30 writing layer sha256:440849e3569a74baf883d1a14010854807280727ba17c36f82beee5b7d5052b2 done\n", "#30 writing layer sha256:46c9c54348df10b0d7700bf932d5de7dc5bf9ab91e685db7086e29e381ff8e12 done\n", + "#30 writing layer sha256:4ef542fe09116c53da73effaa3b0ebc83c3619f95ecea3bdd81b29c92ad0337f 0.0s done\n", "#30 writing layer sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 done\n", - "#30 writing layer sha256:56e572a086410ad7549df560616c07004a546b5d93600169fc21e40cd8a6a079 0.0s done\n", + "#30 writing layer sha256:53d193b4273e718bc4bed3199afbc347e3e9e143091139ed90456d0377788704\n", + "#30 writing layer sha256:53d193b4273e718bc4bed3199afbc347e3e9e143091139ed90456d0377788704 53.5s done\n", + "#30 writing layer sha256:67b3546b211deefd67122e680c0932886e0b3c6bd6ae0665e3ab25d2d9f0cda0\n", "#30 writing layer sha256:67b3546b211deefd67122e680c0932886e0b3c6bd6ae0665e3ab25d2d9f0cda0 done\n", - "#30 writing layer sha256:89c3a6b85acef5455878126c639a22ed2e674198db08407234d146947e76f697 0.0s done\n", - "#30 writing layer sha256:94ea8fe9174939142272c5d49e179ba19f357ea997b5d4f3900d1fb7d4fe6707\n", - "#30 writing layer sha256:94ea8fe9174939142272c5d49e179ba19f357ea997b5d4f3900d1fb7d4fe6707 done\n", + "#30 writing layer sha256:695ba418a525cecd1c5442c010ea5f070327d38dfa8f533e63ae845fc3660be8 done\n", + "#30 writing layer sha256:70d632523e65ac9d5b79c4b1edf7ded894919e27b1af66b6fed294a414b875ab 0.0s done\n", + "#30 writing layer sha256:90d2434bd2896a650e2f9268e355424f72f461e002af093a3e88f9ab55e8e980 0.0s done\n", + "#30 writing layer sha256:9206dd7b04116a7dc5c43818efa3d57c3d9c2bab68366d1098eac0743dbd231b\n", + "#30 writing layer sha256:9206dd7b04116a7dc5c43818efa3d57c3d9c2bab68366d1098eac0743dbd231b 10.4s done\n", + "#30 writing layer sha256:980c13e156f90218b216bc6b0430472bbda71c0202804d350c0e16ef02075885\n", "#30 writing layer sha256:980c13e156f90218b216bc6b0430472bbda71c0202804d350c0e16ef02075885 done\n", - "#30 writing layer sha256:a283c6a8d28511cd9103e071819da40cf00de2cb23de8d683fce476237e7a1f6\n", - "#30 writing layer sha256:a283c6a8d28511cd9103e071819da40cf00de2cb23de8d683fce476237e7a1f6 9.0s done\n", - "#30 writing layer sha256:ac52600be001236a2c291a4c5902c915bf5ec9d2441c06d2a54c587b76345847\n", - "#30 preparing build cache for export 9.4s done\n", + "#30 writing layer sha256:9f4298c73aaf415f67893215f4cfc6af9688163dfd98172a08fb2d13177eb027 0.0s done\n", + "#30 writing layer sha256:a7292bbf42d93ed9fca9e2ff7e5283d2e7f737dad14092919db7645628bb0838 done\n", + "#30 writing layer sha256:a8560dc90723760d8d4daf42b22f7760b034c87e9348697c113118b992d830ca done\n", "#30 writing layer sha256:ac52600be001236a2c291a4c5902c915bf5ec9d2441c06d2a54c587b76345847 done\n", "#30 writing layer sha256:bc25d810fc1fd99656c1b07d422e88cdb896508730175bc3ec187b79f3787044 done\n", - "#30 writing layer sha256:bfa5ec525f430f0d201578b006cd216f9bb89f61b91e96b5c2111bb04e7569e4 done\n", - "#30 writing layer sha256:c0e9112106766f6d918279426468ca3a81ddca90d82a7e3e41ed3d96b0464a94 done\n", - "#30 writing layer sha256:c8937b741c9ecd6b257aeb18daf07eddbf1c77b0c93f9ba4164faa8353cd1d3c done\n", + "#30 writing layer sha256:be0dad9c160128582482df5e64337c99c213a48988d5d12d453bd03bc2a4c1b1 done\n", + "#30 writing layer sha256:c44760856749b1b70a3f10d166baa2075f84fe4147e20efdc97ae6b8373575b0 0.1s done\n", + "#30 writing layer sha256:c94af7742e07c9041104260b79637c243ef8dd25eb4241f06ef1a3899a99f2bd\n", + "#30 preparing build cache for export 64.3s done\n", + "#30 writing layer sha256:c94af7742e07c9041104260b79637c243ef8dd25eb4241f06ef1a3899a99f2bd done\n", "#30 writing layer sha256:d339273dfb7fc3b7fd896d3610d360ab9a09ab33a818093cb73b4be7639b6e99 done\n", - "#30 writing layer sha256:e540d242f419a27800d601d7275f4fbb3488b97d209b454f52e63f1eb413a912 done\n", - "#30 writing layer sha256:edd12bb5b9c08c2e288fc295bf1f84feac12beac66caaa8a19956942eb729aef done\n", "#30 writing layer sha256:efc9014e2a4cb1e133b80bb4f047e9141e98685eb95b8d2471a8e35b86643e31 done\n", - "#30 writing config sha256:ed69d9ef8eead28b494b1bed44df31c14eac706dab4d5670f81208f0b83550da 0.0s done\n", - "#30 writing cache manifest sha256:d1d2295a784c6dc449ae891839a3fb1d8606f4bc80fe5c05ecaca2454c9ed5df 0.0s done\n", - "#30 DONE 9.4s\n", - "[2025-01-16 19:03:59,507] [INFO] (packager) - Build Summary:\n", + "#30 writing config sha256:826f5efd34c54c319233472ed2d0b701e48d72c65ac5340a90c4583be4465fa7 0.0s done\n", + "#30 writing cache manifest sha256:b26c61f9f724af74f9758287216e114370ea6a82f8f653c7988e3f6dae5b164d 0.0s done\n", + "#30 DONE 64.3s\n", + "[2025-01-29 15:09:25,383] [INFO] (packager) - Build Summary:\n", "\n", "Platform: x64-workstation/dgpu\n", " Status: Succeeded\n", @@ -1859,7 +2083,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "my_app-x64-workstation-dgpu-linux-amd64 1.0 2cec2b8471b7 2 minutes ago 9.07GB\n" + "my_app-x64-workstation-dgpu-linux-amd64 1.0 b9c42a576652 6 minutes ago 9.26GB\n" ] } ], @@ -1942,16 +2166,16 @@ " \"platformConfig\": \"dgpu\"\n", "}\n", "\n", - "2025-01-17 03:04:04 [INFO] Copying application from /opt/holoscan/app to /var/run/holoscan/export/app\n", + "2025-01-29 23:09:29 [INFO] Copying application from /opt/holoscan/app to /var/run/holoscan/export/app\n", "\n", - "2025-01-17 03:04:04 [INFO] Copying application manifest file from /etc/holoscan/app.json to /var/run/holoscan/export/config/app.json\n", - "2025-01-17 03:04:04 [INFO] Copying pkg manifest file from /etc/holoscan/pkg.json to /var/run/holoscan/export/config/pkg.json\n", - "2025-01-17 03:04:04 [INFO] Copying application configuration from /var/holoscan/app.yaml to /var/run/holoscan/export/config/app.yaml\n", + "2025-01-29 23:09:29 [INFO] Copying application manifest file from /etc/holoscan/app.json to /var/run/holoscan/export/config/app.json\n", + "2025-01-29 23:09:29 [INFO] Copying pkg manifest file from /etc/holoscan/pkg.json to /var/run/holoscan/export/config/pkg.json\n", + "2025-01-29 23:09:29 [INFO] Copying application configuration from /var/holoscan/app.yaml to /var/run/holoscan/export/config/app.yaml\n", "\n", - "2025-01-17 03:04:04 [INFO] Copying models from /opt/holoscan/models to /var/run/holoscan/export/models\n", + "2025-01-29 23:09:29 [INFO] Copying models from /opt/holoscan/models to /var/run/holoscan/export/models\n", "\n", - "2025-01-17 03:04:05 [INFO] Copying documentation from /opt/holoscan/docs/ to /var/run/holoscan/export/docs\n", - "2025-01-17 03:04:05 [INFO] '/opt/holoscan/docs/' cannot be found.\n", + "2025-01-29 23:09:31 [INFO] Copying documentation from /opt/holoscan/docs/ to /var/run/holoscan/export/docs\n", + "2025-01-29 23:09:31 [INFO] '/opt/holoscan/docs/' cannot be found.\n", "\n", "app config models\n" ] @@ -1983,22 +2207,23 @@ "name": "stdout", "output_type": "stream", "text": [ - "[2025-01-16 19:04:08,393] [INFO] (runner) - Checking dependencies...\n", - "[2025-01-16 19:04:08,393] [INFO] (runner) - --> Verifying if \"docker\" is installed...\n", + "[2025-01-29 15:09:34,608] [INFO] (runner) - Checking dependencies...\n", + "[2025-01-29 15:09:34,608] [INFO] (runner) - --> Verifying if \"docker\" is installed...\n", "\n", - "[2025-01-16 19:04:08,393] [INFO] (runner) - --> Verifying if \"docker-buildx\" is installed...\n", + "[2025-01-29 15:09:34,608] [INFO] (runner) - --> Verifying if \"docker-buildx\" is installed...\n", "\n", - "[2025-01-16 19:04:08,393] [INFO] (runner) - --> Verifying if \"my_app-x64-workstation-dgpu-linux-amd64:1.0\" is available...\n", + "[2025-01-29 15:09:34,608] [INFO] (runner) - --> Verifying if \"my_app-x64-workstation-dgpu-linux-amd64:1.0\" is available...\n", "\n", - "[2025-01-16 19:04:08,457] [INFO] (runner) - Reading HAP/MAP manifest...\n", - "Successfully copied 2.56kB to /tmp/tmptukd3uti/app.json\n", - "Successfully copied 2.05kB to /tmp/tmptukd3uti/pkg.json\n", - "[2025-01-16 19:04:08,663] [INFO] (runner) - --> Verifying if \"nvidia-ctk\" is installed...\n", + "[2025-01-29 15:09:34,693] [INFO] (runner) - Reading HAP/MAP manifest...\n", + "Successfully copied 2.56kB to /tmp/tmpy9h8ea88/app.json\n", + "Successfully copied 2.05kB to /tmp/tmpy9h8ea88/pkg.json\n", + "2e87441a06e4a01c5fdfaff50540f53f482fd9eed91ae31153adafbd852300e0\n", + "[2025-01-29 15:09:34,990] [INFO] (runner) - --> Verifying if \"nvidia-ctk\" is installed...\n", "\n", - "[2025-01-16 19:04:08,664] [INFO] (runner) - --> Verifying \"nvidia-ctk\" version...\n", + "[2025-01-29 15:09:34,991] [INFO] (runner) - --> Verifying \"nvidia-ctk\" version...\n", "\n", - "[2025-01-16 19:04:09,099] [INFO] (common) - Launching container (6555f263537b) using image 'my_app-x64-workstation-dgpu-linux-amd64:1.0'...\n", - " container name: amazing_galois\n", + "[2025-01-29 15:09:35,353] [INFO] (common) - Launching container (65c9ea7f2024) using image 'my_app-x64-workstation-dgpu-linux-amd64:1.0'...\n", + " container name: busy_buck\n", " host name: mingq-dt\n", " network: host\n", " user: 1000:1000\n", @@ -2008,119 +2233,137 @@ " shared memory size: 67108864\n", " devices: \n", " group_add: 44\n", - "2025-01-17 03:04:09 [INFO] Launching application python3 /opt/holoscan/app ...\n", + "2025-01-29 23:09:36 [INFO] Launching application python3 /opt/holoscan/app ...\n", "\n", - "[info] [fragment.cpp:585] Loading extensions from configs...\n", + "[info] [fragment.cpp:599] Loading extensions from configs...\n", "\n", - "[info] [gxf_executor.cpp:255] Creating context\n", + "[info] [gxf_executor.cpp:264] Creating context\n", "\n", - "[2025-01-17 03:04:13,133] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=['/opt/holoscan/app'])\n", + "[2025-01-29 23:09:42,422] [INFO] (root) - Parsed args: Namespace(log_level=None, input=None, output=None, model=None, workdir=None, argv=['/opt/holoscan/app'])\n", "\n", - "[2025-01-17 03:04:13,145] [INFO] (root) - AppContext object: AppContext(input_path=/var/holoscan/input, output_path=/var/holoscan/output, model_path=/opt/holoscan/models, workdir=/var/holoscan)\n", + "[2025-01-29 23:09:42,436] [INFO] (root) - AppContext object: AppContext(input_path=/var/holoscan/input, output_path=/var/holoscan/output, model_path=/opt/holoscan/models, workdir=/var/holoscan)\n", "\n", - "[2025-01-17 03:04:13,149] [INFO] (root) - End compose\n", + "[2025-01-29 23:09:42,440] [INFO] (root) - End compose\n", "\n", - "[info] [app_driver.cpp:1176] Launching the driver/health checking service\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'input_folder'\n", "\n", - "[info] [gxf_executor.cpp:1973] Activating Graph...\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'dicom_study_list'\n", "\n", - "[info] [gxf_executor.cpp:2003] Running Graph...\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", "\n", - "[info] [gxf_executor.cpp:2005] Waiting for completion...\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", "\n", - "[info] [greedy_scheduler.cpp:191] Scheduling 7 entities\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'image'\n", + "\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'output_folder'\n", + "\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'seg_image'\n", + "\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'output_folder'\n", "\n", - "[info] [server.cpp:87] Health checking server listening on 0.0.0.0:8777\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'study_selected_series_list'\n", + "\n", + "[info] [gxf_executor.cpp:1797] creating input IOSpec named 'seg_image'\n", + "\n", + "[info] [gxf_executor.cpp:2208] Activating Graph...\n", + "\n", + "[info] [gxf_executor.cpp:2238] Running Graph...\n", + "\n", + "[info] [gxf_executor.cpp:2240] Waiting for completion...\n", + "\n", + "[info] [greedy_scheduler.cpp:191] Scheduling 7 entities\n", "\n", - "[2025-01-17 03:04:13,156] [INFO] (monai.deploy.operators.dicom_data_loader_operator.DICOMDataLoaderOperator) - No or invalid input path from the optional input port: None\n", + "[2025-01-29 23:09:42,481] [INFO] (monai.deploy.operators.dicom_data_loader_operator.DICOMDataLoaderOperator) - No or invalid input path from the optional input port: None\n", "\n", - "[2025-01-17 03:04:14,111] [INFO] (root) - Finding series for Selection named: CT Series\n", + "[2025-01-29 23:09:43,496] [INFO] (root) - Finding series for Selection named: CT Series\n", "\n", - "[2025-01-17 03:04:14,111] [INFO] (root) - Searching study, : 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291\n", + "[2025-01-29 23:09:43,496] [INFO] (root) - Searching study, : 1.3.6.1.4.1.14519.5.2.1.7085.2626.822645453932810382886582736291\n", "\n", " # of series: 1\n", "\n", - "[2025-01-17 03:04:14,111] [INFO] (root) - Working on series, instance UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", + "[2025-01-29 23:09:43,496] [INFO] (root) - Working on series, instance UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", "\n", - "[2025-01-17 03:04:14,111] [INFO] (root) - On attribute: 'StudyDescription' to match value: '(.*?)'\n", + "[2025-01-29 23:09:43,496] [INFO] (root) - On attribute: 'StudyDescription' to match value: '(.*?)'\n", "\n", - "[2025-01-17 03:04:14,111] [INFO] (root) - Series attribute StudyDescription value: CT ABDOMEN W IV CONTRAST\n", + "[2025-01-29 23:09:43,496] [INFO] (root) - Series attribute StudyDescription value: CT ABDOMEN W IV CONTRAST\n", "\n", - "[2025-01-17 03:04:14,111] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 23:09:43,497] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", "\n", - "[2025-01-17 03:04:14,112] [INFO] (root) - On attribute: 'Modality' to match value: '(?i)CT'\n", + "[2025-01-29 23:09:43,497] [INFO] (root) - On attribute: 'Modality' to match value: '(?i)CT'\n", "\n", - "[2025-01-17 03:04:14,112] [INFO] (root) - Series attribute Modality value: CT\n", + "[2025-01-29 23:09:43,497] [INFO] (root) - Series attribute Modality value: CT\n", "\n", - "[2025-01-17 03:04:14,112] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 23:09:43,497] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", "\n", - "[2025-01-17 03:04:14,112] [INFO] (root) - On attribute: 'SeriesDescription' to match value: '(.*?)'\n", + "[2025-01-29 23:09:43,497] [INFO] (root) - On attribute: 'SeriesDescription' to match value: '(.*?)'\n", "\n", - "[2025-01-17 03:04:14,112] [INFO] (root) - Series attribute SeriesDescription value: ABD/PANC 3.0 B31f\n", + "[2025-01-29 23:09:43,497] [INFO] (root) - Series attribute SeriesDescription value: ABD/PANC 3.0 B31f\n", "\n", - "[2025-01-17 03:04:14,112] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", + "[2025-01-29 23:09:43,497] [INFO] (root) - Series attribute string value did not match. Try regEx.\n", "\n", - "[2025-01-17 03:04:14,112] [INFO] (root) - Selected Series, UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", + "[2025-01-29 23:09:43,497] [INFO] (root) - Selected Series, UID: 1.3.6.1.4.1.14519.5.2.1.7085.2626.119403521930927333027265674239\n", "\n", - "[2025-01-17 03:04:14,400] [INFO] (root) - Parsing from bundle_path: /opt/holoscan/models/pancreas_ct_dints/model.ts\n", + "[2025-01-29 23:09:44,150] [INFO] (root) - Parsing from bundle_path: /opt/holoscan/models/pancreas_ct_dints/model.ts\n", "\n", "/home/holoscan/.local/lib/python3.10/site-packages/monai/bundle/reference_resolver.py:216: UserWarning: Detected deprecated name 'optional_packages_version' in configuration file, replacing with 'required_packages_version'.\n", "\n", " warnings.warn(\n", "\n", - "[2025-01-17 03:04:50,442] [INFO] (root) - Parsing from bundle_path: /opt/holoscan/models/spleen_ct/model.ts\n", + "[2025-01-29 23:10:20,945] [INFO] (root) - Parsing from bundle_path: /opt/holoscan/models/spleen_ct/model.ts\n", "\n", "/home/holoscan/.local/lib/python3.10/site-packages/highdicom/base.py:163: UserWarning: The string \"C3N-00198\" is unlikely to represent the intended person name since it contains only a single component. Construct a person name according to the format in described in https://dicom.nema.org/dicom/2013/output/chtml/part05/sect_6.2.html#sect_6.2.1.2, or, in pydicom 2.2.0 or later, use the pydicom.valuerep.PersonName.from_named_components() method to construct the person name correctly. If a single-component name is really intended, add a trailing caret character to disambiguate the name.\n", "\n", " check_person_name(patient_name)\n", "\n", - "[2025-01-17 03:04:54,361] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 23:10:24,852] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", "\n", - "[2025-01-17 03:04:54,361] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", + "[2025-01-29 23:10:24,852] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", "\n", - "[2025-01-17 03:04:54,361] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 23:10:24,852] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", "\n", - "[2025-01-17 03:04:54,361] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", + "[2025-01-29 23:10:24,852] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", "\n", - "[2025-01-17 03:04:54,362] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", + "[2025-01-29 23:10:24,852] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", "\n", - "[2025-01-17 03:04:54,362] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 23:10:24,853] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", "\n", - "[2025-01-17 03:04:54,362] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", + "[2025-01-29 23:10:24,853] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", "\n", - "[2025-01-17 03:04:54,362] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", + "[2025-01-29 23:10:24,853] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", "\n", - "[2025-01-17 03:04:54,362] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", + "[2025-01-29 23:10:24,853] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", "\n", - "[2025-01-17 03:04:55,604] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 23:10:26,177] [INFO] (highdicom.base) - copy Image-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", "\n", - "[2025-01-17 03:04:55,604] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", + "[2025-01-29 23:10:26,177] [INFO] (highdicom.base) - copy attributes of module \"Specimen\"\n", "\n", - "[2025-01-17 03:04:55,605] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 23:10:26,177] [INFO] (highdicom.base) - copy Patient-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", "\n", - "[2025-01-17 03:04:55,605] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", + "[2025-01-29 23:10:26,177] [INFO] (highdicom.base) - copy attributes of module \"Patient\"\n", "\n", - "[2025-01-17 03:04:55,605] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", + "[2025-01-29 23:10:26,178] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Subject\"\n", "\n", - "[2025-01-17 03:04:55,605] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", + "[2025-01-29 23:10:26,178] [INFO] (highdicom.base) - copy Study-related attributes from dataset \"1.3.6.1.4.1.14519.5.2.1.7085.2626.936983343951485811186213470191\"\n", "\n", - "[2025-01-17 03:04:55,605] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", + "[2025-01-29 23:10:26,178] [INFO] (highdicom.base) - copy attributes of module \"General Study\"\n", "\n", - "[2025-01-17 03:04:55,606] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", + "[2025-01-29 23:10:26,178] [INFO] (highdicom.base) - copy attributes of module \"Patient Study\"\n", "\n", - "[2025-01-17 03:04:55,606] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", + "[2025-01-29 23:10:26,178] [INFO] (highdicom.base) - copy attributes of module \"Clinical Trial Study\"\n", "\n", "[info] [greedy_scheduler.cpp:372] Scheduler stopped: Some entities are waiting for execution, but there are no periodic or async entities to get out of the deadlock.\n", "\n", "[info] [greedy_scheduler.cpp:401] Scheduler finished.\n", "\n", - "[info] [gxf_executor.cpp:2008] Deactivating Graph...\n", + "[info] [gxf_executor.cpp:2243] Deactivating Graph...\n", "\n", - "[info] [gxf_executor.cpp:2016] Graph execution finished.\n", + "[info] [gxf_executor.cpp:2251] Graph execution finished.\n", "\n", - "[2025-01-17 03:04:55,729] [INFO] (app.App) - End run\n", + "[2025-01-29 23:10:26,371] [INFO] (app.App) - End run\n", "\n", - "[2025-01-16 19:04:57,275] [INFO] (common) - Container 'amazing_galois'(6555f263537b) exited.\n" + "[2025-01-29 15:10:28,142] [INFO] (common) - Container 'busy_buck'(65c9ea7f2024) exited.\n" ] } ], @@ -2134,7 +2377,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "In the output folder are the DICOM segementation files." + "In the output folder are the DICOM segmentation files." ] }, { @@ -2146,8 +2389,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "1.2.826.0.1.3680043.10.511.3.25768072785891674853459165523063481.dcm\n", - "1.2.826.0.1.3680043.10.511.3.67783934117190980110357640109691807.dcm\n" + "1.2.826.0.1.3680043.10.511.3.64688317802311184609213362007999742.dcm\n", + "1.2.826.0.1.3680043.10.511.3.94198214068593573417987012030437034.dcm\n" ] } ],