NVIDIA / ai-assisted-annotation-client

Client side integration example source code and libraries for AI-Assisted Annotation SDK
Other
308 stars 64 forks source link

Use AIAA client APIs from py-client #34

Closed SachidanandAlle closed 5 years ago

SachidanandAlle commented 5 years ago

@jcfr @bsmarine

Idea is to use python client APIs already part of the repository. Instead of writing the same logic here. The python client APIs in AIAAClient are compatible for python 2.x and 3.x

Currently I have created a symlink for ../../py-client/client_api.py -> slicer-plugin/NvidiaAIAA/AIAAClient.py

I couldn't find a better option for now... but may not work for windows.. let me know if you have a better way to import the module AIAAClient from py-client/client_api.py into Plugin

lassoan commented 5 years ago

Currently I have created a symlink for ../../py-client/client_api.py -> slicer-plugin/NvidiaAIAA/AIAAClient.py

There are two blocking issues with this:

Also, on Windows, even if I copy the AIAAClient.py manually then segmentation does not work in Slicer-4.10.2 anymore (models can be fetched but I don't receive any segmentation; it may be a server issue, though).

Instead, I would recommend to create a proper Python package from the py-client folder:

We could then use this Python package locally.

It would make sense to move the client SDK to a separate repository (or move out the MITK and Slicer application plugin examples to separate respotiory/repositories). Software interfaces and responsibilities of repository maintainers would be more clear. Each repository would be also smaller and more cohesive. It would also make it easier to prepare the SDK repository to be registered in PyPI (which would allow users to install it by pip).

bsmarine commented 5 years ago

The server was down last week but is back up and running. So the difficulties @lassoan brings up aren't related to the server.

SachidanandAlle commented 5 years ago

Few changes regarding the suggestions on folder structure of this git-repo or splitting it into multiple repo I do agree.. but it is limited at org level and subject to approvals. So, for now, limited to do those changes.. but yes, we will try to add a pip package as part of release item (git/releases) for users to download and install..

However, to fix the symlink issue, I added a copy step before we load the {Module}Lib.. that should fix the problem windows and other os...