Giter Site home page Giter Site logo

ai-assisted-annotation-client's Introduction

NVIDIA AI-Assisted Annotation Client

NVIDIA AI-Assisted Annotation SDK follows a client-server approach to integrate into an application. Clara Train SDK container on ngc.nvidia.com is generally available for download, annotation server is included in the package. Once a user has setup the AI-Assisted Annotation Server, user can use either C++ or Python client to integrate the SDK into an existing medical imaging application.

Documentation GitHub license GitHub Releases GitHub Issues

Supported Platforms

AI-Assisted Annotation is a cross-platform C++/Python Client API to communicate with AI-Assisted Annotation Server for NVIDIA and it officially supports:

  • Linux (Ubuntu16+)
  • macOS (High Sierra and above)
  • Windows (Windows 10)

Plugins

Following plugins integrate with NVIDIA AI-Assisted Annotation through either C++/Python Client APIs

Quick Start

Follow the Quick Start guide to build/install AI-Assisted Annotation Client Libraries for C++ and run some basic tools to verify few important functionalities like dextr3D, segmentation, fixPolygon over an existing AI-Assisted Annotation Server.

C++ Client Library provides support for CMake project

For installing py_client:

# 1. build first and install
python setup.py sdist bdist_wheel
python -m pip install dist/aiaa_client-*.whl

# 2. Or just install
python -m pip install -e ./

To use py_client in code:

from py_client import client_api

Contributions

Contributions to NVIDIA AI-Assisted Annotation Client are more than welcome. To contribute make a pull request and follow the guidelines outlined in the CONTRIBUTING document.

ai-assisted-annotation-client's People

Contributors

anfeng avatar jcfr avatar kislinsk avatar lassoan avatar pieper avatar sachidanandalle avatar yuantinghsieh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ai-assisted-annotation-client's Issues

Help regarding MITK - AIAA

Hello, I'm currently having problem installing MITK 2018.04.2 http://www.mitk.org/download/releases/MITK-2018.04.2/Nvidia/Linux/

May I ask what is the prerequisite for AIAA Client and how to install it?
I already install nvidia-docker2, and have NGC account what is the next step?

QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Sel Jul 30 18:53:23 2019 Debug: org.commontk.eventadmin.LogLevel=2
in startOrUpdate, /home/kislinsk/MITK-superbuild/ep/src/CTK/Plugins/org.commontk.eventadmin/ctkEAConfiguration.cpp:215
Sel Jul 30 18:53:23 2019 Debug: org.commontk.eventadmin.CacheSize=30
in startOrUpdate, /home/kislinsk/MITK-superbuild/ep/src/CTK/Plugins/org.commontk.eventadmin/ctkEAConfiguration.cpp:217
Sel Jul 30 18:53:23 2019 Debug: org.commontk.eventadmin.ThreadPoolSize=20
in startOrUpdate, /home/kislinsk/MITK-superbuild/ep/src/CTK/Plugins/org.commontk.eventadmin/ctkEAConfiguration.cpp:219
Sel Jul 30 18:53:23 2019 Debug: org.commontk.eventadmin.Timeout=5000
in startOrUpdate, /home/kislinsk/MITK-superbuild/ep/src/CTK/Plugins/org.commontk.eventadmin/ctkEAConfiguration.cpp:221
Sel Jul 30 18:53:23 2019 Debug: org.commontk.eventadmin.RequireTopic=true
in startOrUpdate, /home/kislinsk/MITK-superbuild/ep/src/CTK/Plugins/org.commontk.eventadmin/ctkEAConfiguration.cpp:223
Sel Jul 30 18:53:23 2019 Debug: org.commontk.eventadmin.LogLevel=2
in startOrUpdate, /home/kislinsk/MITK-superbuild/ep/src/CTK/Plugins/org.commontk.eventadmin/ctkEAConfiguration.cpp:215
Sel Jul 30 18:53:23 2019 Debug: org.commontk.eventadmin.CacheSize=30
in startOrUpdate, /home/kislinsk/MITK-superbuild/ep/src/CTK/Plugins/org.commontk.eventadmin/ctkEAConfiguration.cpp:217
Sel Jul 30 18:53:23 2019 Debug: org.commontk.eventadmin.ThreadPoolSize=20
in startOrUpdate, /home/kislinsk/MITK-superbuild/ep/src/CTK/Plugins/org.commontk.eventadmin/ctkEAConfiguration.cpp:219
Sel Jul 30 18:53:23 2019 Debug: org.commontk.eventadmin.Timeout=5000
in startOrUpdate, /home/kislinsk/MITK-superbuild/ep/src/CTK/Plugins/org.commontk.eventadmin/ctkEAConfiguration.cpp:221
Sel Jul 30 18:53:23 2019 Debug: org.commontk.eventadmin.RequireTopic=true
in startOrUpdate, /home/kislinsk/MITK-superbuild/ep/src/CTK/Plugins/org.commontk.eventadmin/ctkEAConfiguration.cpp:223
[Tue Jul 30 18:53:23 2019 
0.404] Logfile: /home/ivanwilliam/.local/share/DKFZ/MITK Workbench_737102135/data/9/mitk-0.log
[0.517] [BlueBerry] LOG: Warning: Detected recursive attempt by part org.mitk.views.datamanager to create itself (this is probably, but not necessarily, a bug)
!1.071! WARNING: An OpenGL Core Profile was requested, but it is not supported on the current platform. Falling back to a non-Core profile. Note that this might cause rendering issues.
[0730/185324.247955:WARNING:stack_trace_posix.cc(699)] Failed to open file: /tmp/.glnL7i5O (deleted)
  Error: No such file or directory
[0730/185324.247981:WARNING:stack_trace_posix.cc(699)] Failed to open file: /home/ivanwilliam/.glvnd5jOSUp (deleted)
  Error: No such file or directory
[12376:12376:0730/185324.315885:ERROR:zygote_host_impl_linux.cc(90)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
Received signal 11 SEGV_MAPERR 000000000008
#0 0x7feadede3d2f <unknown>
#1 0x7feadd80cb9d <unknown>
#2 0x7feadede423e <unknown>
#3 0x7feb25583f20 <unknown>
#4 0x7feb25f78404 QReadWriteLock::lockForRead()
#5 0x7feb1ea587e6 QSqlDatabase::contains()
#6 0x7feb25307856 ctkPluginStorageSQL::getConnection()
#7 0x7feb25307d11 ctkPluginStorageSQL::close()
#8 0x7feb25308060 ctkPluginStorageSQL::~ctkPluginStorageSQL()
#9 0x7feb252cd5e6 ctkPluginFrameworkContext::uninit()
#10 0x7feb252cc630 ctkPluginFrameworkFactory::~ctkPluginFrameworkFactory()
#11 0x7feb252e2ac4 QScopedPointer<>::~QScopedPointer()
#12 0x7feb25588615 __cxa_finalize
#13 0x7feb252b0ee3 <unknown>
  r8: 0000000002a8434c  r9: 00007feb268c7120 r10: 00000000029f0998 r11: 000000000000004e
 r12: 00000000028a1080 r13: 0000000002321d90 r14: 0000000001e6ac70 r15: 00007fff6cc5df90
  di: 0000000000000008  si: 0000000000000002  bp: 0000000000000000  bx: 0000000000000008
  dx: 0000000000000001  ax: 0000000000000000  cx: 00007feb268c67a0  sp: 00007fff6cc5de30
  ip: 00007feb25f78404 efl: 0000000000010246 cgf: 002b000000000033 erf: 0000000000000006
 trp: 000000000000000e msk: 0000000000001000 cr2: 0000000000000008
[end of stack trace]
Calling _exit(1). Core file will not be generated.

System information:
OS: Ubuntu 18.04 LTS,
Hardware: Palit RTX 2080 8GB, 32GB RAM DDR4, Intel i7-8700,
NVIDIA driver:418.67
CUDA: 10.1

Tue Jul 30 18:56:02 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.67       Driver Version: 418.67       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce RTX 2080    Off  | 00000000:01:00.0  On |                  N/A |
| 30%   39C    P8    21W / 225W |    251MiB /  7949MiB |      6%      Default |
+-------------------------------+----------------------+----------------------+

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Apr_24_19:10:27_PDT_2019
Cuda compilation tools, release 10.1, V10.1.168

Best regards,
Ivan WH

train or replace with own model

I use the plugin-in in 3D slicer, I want to segment tooth automatically, Is there any relevant instruction to train and replace the ai model in Auto-segmentation ?

how to use HeaortaNet pretrained model

Hi Professors, can you please install "HeaortaNet_clara_ct_seg_heart_and_aorta" to the server? Or was it just not implemented in the GUI? If so can I receive some instructions regarding the custom Python scripting? Thank you in advance.

Slicer plugin submission to Slicer's Extension manager

It's great to see all the progress with the Slicer plugin.

Would you like to make the extension downloadable from Slicer's Extension manager? It would make the installation much easier (few mouse clicks).

For both Slicer stable (4.10.2) and preview releases?

Should the extension manager to automatically fetch the latest master version every night from this repository's master branch? (this is usually the recommended way for actively developed extensions, but if you prefer you can choose a designated release branch or a fixed git tag instead).

Connection actively refused by server

I tried using the extension, and did this:

  • Load "CTA abdomen (Panoramix)" image from sample data module
  • Create a segment in Segment Editor and rename it to Liver
  • Switch to Nvidia AIAA effect, and set the server IP and port that I received from @SachidanandAlle
  • Click Fetch Models

However I got a python error:

Traceback (most recent call last):
  File "C:/d/_Extensions/NvidiaAIAA/NvidiaAIAA/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py", line 165, in onClickModels
    models = json.loads(logic.list_models(label if self.filterByLabel.checked else None))
  File "C:/d/_Extensions/NvidiaAIAA/NvidiaAIAA/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py", line 472, in list_models
    conn.request('GET', selector)
  File "C:\Users\pinter\AppData\Local\NA-MIC\Slicer 4.11.0-2019-09-17\lib\Python\Lib\http\client.py", line 1239, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "C:\Users\pinter\AppData\Local\NA-MIC\Slicer 4.11.0-2019-09-17\lib\Python\Lib\http\client.py", line 1285, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "C:\Users\pinter\AppData\Local\NA-MIC\Slicer 4.11.0-2019-09-17\lib\Python\Lib\http\client.py", line 1234, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "C:\Users\pinter\AppData\Local\NA-MIC\Slicer 4.11.0-2019-09-17\lib\Python\Lib\http\client.py", line 1026, in _send_output
    self.send(msg)
  File "C:\Users\pinter\AppData\Local\NA-MIC\Slicer 4.11.0-2019-09-17\lib\Python\Lib\http\client.py", line 964, in send
    self.connect()
  File "C:\Users\pinter\AppData\Local\NA-MIC\Slicer 4.11.0-2019-09-17\lib\Python\Lib\http\client.py", line 936, in connect
    (self.host,self.port), self.timeout, self.source_address)
  File "C:\Users\pinter\AppData\Local\NA-MIC\Slicer 4.11.0-2019-09-17\lib\Python\Lib\socket.py", line 724, in create_connection
    raise err
  File "C:\Users\pinter\AppData\Local\NA-MIC\Slicer 4.11.0-2019-09-17\lib\Python\Lib\socket.py", line 713, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it

It says that the target machine actively refused the connection. Does anybody know anything about this? Thanks!

Errror run deepgrow_3d or deepgrow_2d segment in 3D Slicer

Use my own clara AIAA server, 3D Slicer could list all the models loaded by AIAA load in AIAA server.
And Use the MRBrainTumor1 , downloaded from Sample Data for test ,
But when I click the Select +ve points and placing point on the right picture ,it errors.
I make sure the AIAA Server is up (with command AIAA status).

error pic

Run Deepgrow for segment: Segment_1; model: clara_deepgrow_2d_annotation; 3d False - Status: 500; Response: b'{"error":{"message":["\\nUnknown type name \'NoneType\':\\nSerialized   File \\"code/__torch__/monai/networks/nets/basic_unet.py\\", line 42\\n  __buffers__ = []\\n  training : bool\\n  _is_full_backward_hook : NoneType\\n                           ~~~~~~~~ <--- HERE\\n  conv_0 : __torch__.monai.networks.blocks.convolutions.Convolution\\n  conv_1 : __torch__.monai.networks.blocks.convolutions.___torch_mangle_1.Convolution\\n"],"type":"RuntimeError"},"success":false}\n'

3D slicer client always use the first image when close scene and reload new image

Hi,

As title, when I load the first image and run an auto segmentation model, the segmentation is as expected.

Then, I close my first image by Close Scene (Not close 3D slicer) and reload the second image to run the same auto segmentation model.
But the segmentation result is as same as the first one, it seems that 3D slicer post the first image's temporary file to the remote server not the second image.

Is this an issue or my operation mistake?

Working with 3D Slicer

I´m a doctor trying to use 3D Slicer for jaw segmentation. I kew about Nvidia AAIA just recently and installed the plugin. I don´t know how to set the server (too many coding lines that I do not know how to use), and living the space blank does not let me try. I would like to use my own dicom sets but trying to use the module scapes my computer skills. Is there any plug an play way to perform the AI segmetations without the tedious other options slicer provides_

Failed to install plugin: liborg_mitk_nvidia_aiaa.so

I have MITK running in a jupyter hub environment with VNC for gui. The NVIDIA AIAA plugin does not successfully load when starting MitkWorkbench.sh

        at 0x7fbdb63ffdd6: ctkBackTrace::ctkBackTrace(unsigned long) + 0x96 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKCore.so.0.1
        at 0x7fbdb6421bdb: ctkException::ctkException(QString const&, ctkException const&) + 0x4b in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKCore.so.0.1
        at 0x7fbdb64223e2: ctkRuntimeException::ctkRuntimeException(QString const&, ctkException const&) + 0x42 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKCore.so.0.1
        at 0x7fbdc1a4eef9: ctkPluginException::ctkPluginException(QString const&, ctkPluginException::Type const&, ctkException const&) + 0x49 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKPluginFramework.so.0.1
        at 0x7fbdc1a2dbaa: ??? + 0xc1a2dbaa in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKPluginFramework.so.0.1
        at 0x7fbdc1a4cbdb: ctkPluginContext::installPlugin(QUrl const&, QIODevice*) + 0x3b in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKPluginFramework.so.0.1
        at 0x7fbdc1a68f90: ??? + 0xc1a68f90 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKPluginFramework.so.0.1
        at 0x7fbdc1a67969: ctkPluginFrameworkLauncher::startup(QRunnable*) + 0x319 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKPluginFramework.so.0.1
        at 0x7fbdc1a67d47: ctkPluginFrameworkLauncher::run(QRunnable*, QVariant const&) + 0x47 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKPluginFramework.so.0.1
        at 0x7fbdc26841cd: mitk::BaseApplication::main(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) + 0x12d in /home/arc/MITK-v2021.02-linux-x86_64/bin/libMitkAppUtil.so
        at 0x7fbdc19cd7d7: Poco::Util::Application::run() + 0x37 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libPocoUtil.so.60
        at 0x558f8a24d66b: ??? + 0x8a24d66b in /home/arc/MITK-v2021.02-linux-x86_64/bin/MitkWorkbench
        at 0x7fbdc1aff0b3: __libc_start_main + 0xf3 in /usr/lib/x86_64-linux-gnu/libc.so.6
        at 0x558f8a24d79e: ??? + 0x8a24d79e in /home/arc/MITK-v2021.02-linux-x86_64/bin/MitkWorkbench
Caused by: ctkPluginException: The plugin "/home/arc/MITK-v2021.02-linux-x86_64/bin/plugins/liborg_mitk_nvidia_aiaa.so" could not be loaded: Cannot load library /home/arc/MITK-v2021.02-linux-x86_64/bin/plugins/liborg_mitk_nvidia_aiaa.so: (libNvidiaAIAAClient.so: cannot open shared object file: No such file or directory)
        at 0x7fbdb63ffdd6: ctkBackTrace::ctkBackTrace(unsigned long) + 0x96 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKCore.so.0.1
        at 0x7fbdb6421b04: ctkException::ctkException(QString const&) + 0x44 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKCore.so.0.1
        at 0x7fbdb6422372: ctkRuntimeException::ctkRuntimeException(QString const&) + 0x42 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKCore.so.0.1
        at 0x7fbdc1a4ee86: ctkPluginException::ctkPluginException(QString const&, ctkPluginException::Type const&) + 0x46 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKPluginFramework.so.0.1
        at 0x7fbdc1a9334b: ??? + 0xc1a9334b in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKPluginFramework.so.0.1
        at 0x7fbdc1a94b1f: ??? + 0xc1a94b1f in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKPluginFramework.so.0.1
        at 0x7fbdc1a94d08: ??? + 0xc1a94d08 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKPluginFramework.so.0.1
        at 0x7fbdc1a8a422: ??? + 0xc1a8a422 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKPluginFramework.so.0.1
        ... 9 more```

Slicer: Automatic Segment Creation When Selecting A Model

From @bsmarine

Open to other suggestions on optimal work flow.

Initial thought is to have the following:

  1. User clicks menu pull down for either "Auto Segmentation" or "AIAA"
  2. All available models are shown
  3. User selects desired model
  4. A Segmentation and Segment nodes are automatically created and named according to the labels that model provides (eg for hippocampus --> single hippocampus label; for liver and tumor model --> two labels: liver and tumor)

Slicer: Moving Server Input Fields To Application Settings

From @bsmarine

Ideally, there would be a workflow possibly like this: user selects model they would like to use under "Auto Segmentation" and "Annotation" (which would only show those available), then the model is fetched when selected and a new Segment node is made automatically. Thoughts?

Currently, I think it's tough to move the AIAA Server Info off this screen since model needs to be fetched only after an organ segmentation is manually created that corresponds to an available model on the server.

Screen Shot 2019-08-13 at 4 52 16 PM

How to build NVIDIA extension using CMake

Hi all, I have followed this instruction to plug in NVIDIA.

But, how to build it in CMake. (attached picture is my C Make)

this step I did not get the last step.

This one: To build extension package, build 3D Slicer then configure ai-assisted-annotation-client project using CMake, defining these variables: -DSlicer_DIR:PATH=… -DNvidiaAIAssistedAnnotation_BUILD_SLICER_EXTENSION:BOOL=ON

For developers
The plugin can be downloaded and installed directly from GitHub:

git clone GitHub - NVIDIA/ai-assisted-annotation-client: Client side integration example source code and libraries for AI-Assisted Annotation SDK
Open 3D Slicer: Go to Edit → Application Settings → Modules → Additional Module Paths
Add New Module Path: <FULL_PATH>/slicer-plugin/NvidiaAIAA
Restart
To build extension package, build 3D Slicer then configure ai-assisted-annotation-client project using CMake, defining these variables: -DSlicer_DIR:PATH=… -DNvidiaAIAssistedAnnotation_BUILD_SLICER_EXTENSION:BOOL=ON

[Feature request] Integrate predictions of "external" models into the annotation server

Thank you for setting up the AI assisted annotation client!

I was searching through the docs but I was not able to find a way to use predictions from models that are not loaded onto the annotation server. (For bringing my own models I only found the option to upload them in the TensorFlow checkpoint or TensorRT format.)

Are there other options to incorporate predictions of "external" models into the annotation server?

Thank you very much & kind regards
Michael

Slicer: Connection timeout

From @lassoan

Thanks a lot for working on this!

I've tried the extension and got this error when clicked on "Fetch models":

TimeoutError: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

I just used the IP address that was offered by default. How can I try this? Do I need to run a server locally? It would be great if you could update the README.md file with instructions to set up the annotation server.

We are excited to try this and would be happy to help if you had any questions about Slicer integration. You can post on the Slicer forum or add me to this repository and @mention me or assign issues.

Inflammatory mass segmentation

Hello I am trying to perform a segmentation of inflammatory mass related to the infection of vascular graft infections. I try to use slicer Nvidia AIAA but I have 2 problems

  1. I see that I need to use some concrete model like spleen... , but notnik fits my use case - I would just like it to find the structure based on the changes of density and multiple boundary points that I am supplying
  2. even when I set some arbitrary model I get error that seems to be related to server (I am keeping the Nvidia AIAA server name blank to keep default ) error I get below

image

annotation ct liver not showing

I wanted to try the liver segmentation with AIAA. I downloaded the extension and runned a sample data from 3d slicer. In "Segment from boundary points" the function "annotation ct liver" is not showing.
How do I find the function "annotation ct liver" ?

[Feature request] Integrate object detection

Thank your team for the cool project!

The project currently supports classification, segmentation tasks. Do you have any plan to support the detection task for example faster-rcnn using pytorch?

AIAAException: (3, "Status: 403; Response: b''")

Hello, everyone. I want to start working with AIAAclient and I have an error in the second line of the code:

client = client_api.AIAAClient(server_url='http://0.0.0.0:5000')
models = client.model_list(label='spleen')

Terminal:
Traceback (most recent call last):
File "/Users/akabynda/Diffuse_Steatoch/main.py", line 254, in
models = client.model_list(label='spleen')
File "/Users/akabynda/Diffuse_Steatoch/py_client/client_api.py", line 192, in model_list
raise AIAAException(AIAAError.SERVER_ERROR, 'Status: {}; Response: {}'.format(status, response))
py_client.client_api.AIAAException: (3, "Status: 403; Response: b''")

I have followed all the instructions (https://docs.nvidia.com/clara/clara-train-sdk/pt/installation.html and https://docs.nvidia.com/clara/clara-train-sdk/aiaa/quickstart.html). Can you help me?

Make AI-AA server run on localhost inside docker container

Hi, I can't make the AI-AA server run on localhost. Instead, it gets automatically allocated at 172.17.0.2

When running:

docker run --runtime=nvidia -it --rm -v /home/<username>/tlt-experiments:/workspace/tlt-experiments $dockerImage start_aas.sh

I get the warning:

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message

Here's the full track:

NVIDIA Release 19.09 (build 8044707)
TensorFlow Version 1.14.0

Container image Copyright (c) 2019, NVIDIA CORPORATION.  All rights reserved.
Copyright 2017-2019 The TensorFlow Authors.  All rights reserved.

Various files include modifications (c) NVIDIA CORPORATION.  All rights reserved.
NVIDIA modifications are covered by the license terms that apply to the underlying project or file.

NOTE: MOFED driver for multi-node communication was not detected.
      Multi-node communication performance may be reduced.

/opt/nvidia/medical/aiaa-launch-config.json

ENGINE:: engine=TRTIS
TRTIS:: Backend is enabled

TRTIS:: trtis_ip=localhost
TRTIS:: Will setup TRTIS Server on localhost

TRTIS:: trtis_http_port=8000
TRTIS:: trtis_grpc_port=8001
TRTIS:: trtis_metrics_port=8002
TRTIS:: trtis_proto=grpc
TRTIS:: trtis_model_path=/var/nvidia/aiaa/trtis_models
TRTIS:: trtis_verbose=false
TRTIS:: trtis_log=/var/nvidia/aiaa/logs/host-80/trtis.log
TRTIS:: trtis_start_timeout=120
TRTIS:: trtis_model_timeout=30

TRTIS:: Waiting 1 seconds to fully up...
TRTIS:: Waiting 2 seconds to fully up...
TRTIS:: Server started with pid: 68

AIAA:: aiaa_port=80
AIAA:: aiaa_log_file=/var/nvidia/aiaa/logs/host-80/aiaa.log
AIAA:: aiaa_log_dir=/var/nvidia/aiaa/logs/host-80
AIAA:: aiaa_workspace=/var/nvidia/aiaa
AIAA:: aiaa_ssl=false
AIAA:: aiaa_ssl_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
AIAA:: aiaa_ssl_pkey_file=/etc/ssl/private/ssl-cert-snakeoil.key

 * Stopping Apache httpd web server apache2                                                                                                          *
Site 000-default disabled.
To activate the new configuration, you need to run:
  service apache2 reload
Enabling site AIAA.
To activate the new configuration, you need to run:
  service apache2 reload
Starting AIAA Server...
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message

How can I fix this?

I tried the solutions proposed here (which are similar to suggestions from many other places): https://askubuntu.com/questions/329323/problem-with-restarting-apache-2
The warning message changes, but the container is still accessible only through 172.17.0.2, I want it to be exposed on localhost:5000

Server not working

I try to use the NVIDIA AIAA today and it suddenly stopped working.
Seems to fail to connect to the public server. Is there any ETA on fix?
Please advise.

I would love to setup my own server but I won't be able to do that till next year due to funding issue.

Failed to execute 'dextr3d' on Nvidia AIAA Server

Hello Sir,
I tried the AI Segmentation function NVIDIA AI-Assisted Annotation in MITK 2018.04.2, but an error occurred "Failed to execute 'dextr3d' on Nvidia AIAA Server, nvidia.aiaa.error.101, description: Failed to communicate to AIAA Server". Could you please help me with this problem? Thank you.

Errror run deepgrow_3d or deepgrow_2d segment in 3D Slicer

Use my own clara AIAA server, 3D Slicer could list all the models loaded by AIAA load in AIAA server.
And Use the MRBrainTumor1 , downloaded from Sample Data for test ,
But when I click the Select +ve points and placing point on the right picture ,it errors.
I make sure the AIAA Server is up (with command AIAA status).

error pic

Run Deepgrow for segment: Segment_1; model: clara_deepgrow_2d_annotation; 3d False - Status: 500; Response: b'{"error":{"message":["\\nUnknown type name \'NoneType\':\\nSerialized   File \\"code/__torch__/monai/networks/nets/basic_unet.py\\", line 42\\n  __buffers__ = []\\n  training : bool\\n  _is_full_backward_hook : NoneType\\n                           ~~~~~~~~ <--- HERE\\n  conv_0 : __torch__.monai.networks.blocks.convolutions.Convolution\\n  conv_1 : __torch__.monai.networks.blocks.convolutions.___torch_mangle_1.Convolution\\n"],"type":"RuntimeError"},"success":false}\n'

How to solve this error for Nvidia Ct tumor segmentation

Hi all, I got this error when trying to run the NVidia ct liver tumor segmentation. anyone can help me?

Traceback (most recent call last):
File "C:/Users/Akmal/AppData/Local/NA-MIC/Slicer 4.11.20210226/NA-MIC/Extensions-29738/NvidiaAIAssistedAnnotation/lib/Slicer-4.11/qt-scripted-modules/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py", line 410, in onClickSegmentation
extreme_points, result_file = self.logic.segmentation(in_file, session_id, model)
File "C:/Users/Akmal/AppData/Local/NA-MIC/Slicer 4.11.20210226/NA-MIC/Extensions-29738/NvidiaAIAssistedAnnotation/lib/Slicer-4.11/qt-scripted-modules/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py", line 1092, in segmentation
session_id=session_id,
File "C:\Users\Akmal\AppData\Local\NA-MIC\Slicer 4.11.20210226\NA-MIC\Extensions-29738\NvidiaAIAssistedAnnotation\lib\Slicer-4.11\qt-scripted-modules\NvidiaAIAAClientAPI\client_api.py", line 389, in inference
raise AIAAException(AIAAError.SERVER_ERROR, 'Status: {}; Response: {}'.format(status, form))
NvidiaAIAAClientAPI.client_api.AIAAException: (3, 'Status: 404; Response: b'\n<title>404 Not Found</title>\n

Not Found

\n

The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

\n'')

Failed to communicate to AIAA Server

I install NvidiaAIAAClient-1.0.1-win64.exe and run the example.cpp in VS2015(win10),but got the error:
"14:45:50 [ERROR] [curlutils.cpp:83 - doGet()] Host not found: my-aiaa-server.com
nvidia::aiaa::exception => nvidia.aiaa.error.101; description: Failed to communicate to AIAA Server"

And, i am working with MITK, what should i set for server URI?

Thank you very much!

3D slicer Nvidia AIAA local Server error for fully automatic liver segmentation

Run Segmentation for model: segmentation_ct_liver_and_tumor - Status: 404; Response: b'\n<title>404 Not Found</title>\n

Not Found

\n

The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

\n'

Is there any local server address in Germany I can manually enter to access the server as leaving it blank does not work.
Thank you.

[ERROR] [curlutils.cpp:83 - doGet()] Timeout: connect timed out: server_ip:5000

Hi,

  • version: v1.0.1 MacOS
  • time: 4/3 22:48 (GMT+8)
  • network: stable

When I tried the example code of Quick Start, I encountered some problem..

I typed nvidiaAIAAListModels -h to get default server URI, and this worked.

But when I typed nvidiaAIAAListModels -server http://default_server_URI:5000/v1, it soon failed.

Here is error message, it seems timeout. I also use timeout options 60 to 300, but it still failed quickly.

22:55:24 [ERROR] [curlutils.cpp:83 - doGet()] Timeout: connect timed out: 10.110.45.66:5000
nvidia::aiaa::exception => nvidia.aiaa.error.101; description: Failed to communicate to AIAA Server

Could anyone help me? Thanks!

By the way, how to upgrade client version to v1.0.2 or how to reinstall client?

Servers not working

Hi guys, sorry if I'm posting in the wrong session, but I'm new to this.
It seems that the new server address is not working propperly. I keep getting this error message when trying to use tool:

"Failed to fetch models from remote server. Make sure server address is correct and <server_uri>/v1/models is accessible in browser".

In the detais tab, I get this:

Traceback (most recent call last):
File "C:/Users/davi_/AppData/Local/NA-MIC/Slicer 5.1.0-2022-05-29/NA-MIC/Extensions-30976/NvidiaAIAssistedAnnotation/lib/Slicer-5.1/qt-scripted-modules/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py", line 198, in fetchAIAAModels
models = self.logic.list_models()
File "C:/Users/davi_/AppData/Local/NA-MIC/Slicer 5.1.0-2022-05-29/NA-MIC/Extensions-30976/NvidiaAIAssistedAnnotation/lib/Slicer-5.1/qt-scripted-modules/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py", line 1076, in list_models
return aiaaClient.model_list(label)
File "C:\Users\davi_\AppData\Local\NA-MIC\Slicer 5.1.0-2022-05-29\NA-MIC\Extensions-30976\NvidiaAIAssistedAnnotation\lib\Slicer-5.1\qt-scripted-modules\NvidiaAIAAClientAPI\client_api.py", line 190, in model_list
status, response = AIAAUtils.http_method('GET', self.server_url, selector)
File "C:\Users\davi
\AppData\Local\NA-MIC\Slicer 5.1.0-2022-05-29\NA-MIC\Extensions-30976\NvidiaAIAssistedAnnotation\lib\Slicer-5.1\qt-scripted-modules\NvidiaAIAAClientAPI\client_api.py", line 626, in http_method
conn.request(method, selector)
File "C:\Users\davi_\AppData\Local\NA-MIC\Slicer 5.1.0-2022-05-29\lib\Python\Lib\http\client.py", line 1285, in request
self.send_request(method, url, body, headers, encode_chunked)
File "C:\Users\davi
\AppData\Local\NA-MIC\Slicer 5.1.0-2022-05-29\lib\Python\Lib\http\client.py", line 1331, in send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "C:\Users\davi
\AppData\Local\NA-MIC\Slicer 5.1.0-2022-05-29\lib\Python\Lib\http\client.py", line 1280, in endheaders
self.send_output(message_body, encode_chunked=encode_chunked)
File "C:\Users\davi
\AppData\Local\NA-MIC\Slicer 5.1.0-2022-05-29\lib\Python\Lib\http\client.py", line 1040, in send_output
self.send(msg)
File "C:\Users\davi
\AppData\Local\NA-MIC\Slicer 5.1.0-2022-05-29\lib\Python\Lib\http\client.py", line 980, in send
self.connect()
File "C:\Users\davi_\AppData\Local\NA-MIC\Slicer 5.1.0-2022-05-29\lib\Python\Lib\http\client.py", line 946, in connect
self.sock = self.create_connection(
File "C:\Users\davi
\AppData\Local\NA-MIC\Slicer 5.1.0-2022-05-29\lib\Python\Lib\socket.py", line 844, in create_connection
raise err
File "C:\Users\davi_\AppData\Local\NA-MIC\Slicer 5.1.0-2022-05-29\lib\Python\Lib\socket.py", line 832, in create_connection
sock.connect(sa)
TimeoutError: [WinError 10060] A connection attempt failed because the connected component did not respond
correctly after a period of time or the established connection failed because the connected host did not respond

slicer error

whenever I try to use this module in slicer I'm getting the following error,

Traceback (most recent call last): File "C:/Users/anand.mulay/AppData/Roaming/NA-MIC/Extensions-29363/NvidiaAIAssistedAnnotation/lib/Slicer-4.11/qt-scripted-modules/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py", line 472, in onClickAnnotation result_file = self.logic.dextr3d(in_file, session_id, model, pointSet) File "C:/Users/anand.mulay/AppData/Roaming/NA-MIC/Extensions-29363/NvidiaAIAssistedAnnotation/lib/Slicer-4.11/qt-scripted-modules/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py", line 1053, in dextr3d session_id=session_id) File "C:\Users\anand.mulay\AppData\Roaming\NA-MIC\Extensions-29363\NvidiaAIAssistedAnnotation\lib\Slicer-4.11\qt-scripted-modules\NvidiaAIAAClientAPI\client_api.py", line 265, in dextr3d points, crop = AIAAUtils.image_pre_process(image_in, cropped_file, point_set, pad, roi_size) File "C:\Users\anand.mulay\AppData\Roaming\NA-MIC\Extensions-29363\NvidiaAIAssistedAnnotation\lib\Slicer-4.11\qt-scripted-modules\NvidiaAIAAClientAPI\client_api.py", line 567, in image_pre_process out_image = AIAAUtils.resample_image(cropped_image, target_size, True) File "C:\Users\anand.mulay\AppData\Roaming\NA-MIC\Extensions-29363\NvidiaAIAssistedAnnotation\lib\Slicer-4.11\qt-scripted-modules\NvidiaAIAAClientAPI\client_api.py", line 506, in resample_image return resample.Execute(itk_image) File "C:\Program Files\Slicer 4.11.0-2020-09-08\lib\Python\lib\site-packages\simpleitk-2.0.0rc3-py3.6-win-amd64.egg\SimpleITK\SimpleITK.py", line 20325, in Execute return _SimpleITK.ResampleImageFilter_Execute(self, image1) RuntimeError: Exception thrown in SimpleITK ResampleImageFilter_Execute: D:\D\P\Slicer-0-build\ITK\Modules\Core\Common\include\itkImageBase.hxx:177: itk::ERROR: itk::ERROR: Image(000001D711EAF140): A spacing of 0 is not allowed: Spacing is [0, 0, 1.58594]
I'm trying a script given my slicer developer gist,
https://gist.github.com/lassoan/ef30bc27a22a648ead7f82243f5cc7d5

here,am I missing something?

Slicer 3D - Error Using nVIDIA AIAA - Prostate Model

Dear all,

Unfortunately I’m facing issue using nVIDIA AIAA module "clara_pt_prostate_mri_segmentation" in 3D Slicer.

Running the AI I get this error:

" Traceback (most recent call last):

File “C:/Users/M/AppData/Local/NA-MIC/Slicer 4.11.20210226/NA-MIC/Extensions-29738/NvidiaAIAssistedAnnotation/lib/Slicer-4.11/qt-scripted-modules/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py”, line 410, in onClickSegmentation

extreme_points, result_file = self.logic.segmentation(in_file, session_id, model)

File “C:/Users/M/AppData/Local/NA-MIC/Slicer 4.11.20210226/NA-MIC/Extensions-29738/NvidiaAIAssistedAnnotation/lib/Slicer-4.11/qt-scripted-modules/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py”, line 1092, in segmentation

session_id=session_id,

File “C:\Users\M\AppData\Local\NA-MIC\Slicer 4.11.20210226\NA-MIC\Extensions-29738\NvidiaAIAssistedAnnotation\lib\Slicer-4.11\qt-scripted-modules\NvidiaAIAAClientAPI\client_api.py”, line 389, in inference

raise AIAAException(AIAAError.SERVER_ERROR, ‘Status: {}; Response: {}’.format(status, form))

NvidiaAIAAClientAPI.client_api.AIAAException: (3, ‘Status: 500; Response: b’{“error”:{“message”:[],“type”:“InferenceServerException”},“success”:false}\n’’) "

The prostate model probably fails because it requires two input images (T2 and ADC), but on Slicer I do not have the option to select two volumes.

Thank you very much !

M.

NVIDIA AI-ASSISTED error

when I try to use this tools the 3D slicer show this window:
Traceback (most recent call last):
File "C:/Users/xiaoqianmu/AppData/Local/NA-MIC/Slicer 5.2.2/NA-MIC/Extensions-31382/NvidiaAIAssistedAnnotation/lib/Slicer-5.2/qt-scripted-modules/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py", line 198, in fetchAIAAModels
models = self.logic.list_models()
File "C:/Users/xiaoqianmu/AppData/Local/NA-MIC/Slicer 5.2.2/NA-MIC/Extensions-31382/NvidiaAIAssistedAnnotation/lib/Slicer-5.2/qt-scripted-modules/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py", line 1076, in list_models
return aiaaClient.model_list(label)
File "C:\Users\xiaoqianmu\AppData\Local\NA-MIC\Slicer 5.2.2\NA-MIC\Extensions-31382\NvidiaAIAssistedAnnotation\lib\Slicer-5.2\qt-scripted-modules\NvidiaAIAAClientAPI\client_api.py", line 192, in model_list
raise AIAAException(AIAAError.SERVER_ERROR, 'Status: {}; Response: {}'.format(status, response))
NvidiaAIAAClientAPI.client_api.AIAAException: (3, "Status: 404; Response: b'\r\n<title>404 Not Found</title>\r\n\r\n

404 Not Found

\r\n
nginx/1.18.0 (Ubuntu)\r\n\r\n\r\n'")

Error processing 3D annotations using dextr3D

We setup our AIAA server using the guide provided in https://docs.nvidia.com/clara/clara-train-sdk/aiaa/quickstart.html, and used the MITK workbench with AIAA client as downloaded from here - https://www.mitk.org/wiki/Downloads/NVIDIA_AI-Assisted_Annotation_Client.

After setting our server to interact with the client, we are able to load models for segmentation, and run them successfully. However if we attempt to use the annotation option under 3D Segmentation, and provide six seed points, we get the error as below -

Response: {"error":{"message":["invalid literal for int() with base 10: '[[41,71,64],[57,41,64],[71,85,64],[45,87,64],[67,67,64],[87,49,64]]'"],"type":"ValueError"},"success":false}

How should we proceed from here?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.