Skip to content

Commit

Permalink
README update
Browse files Browse the repository at this point in the history
  • Loading branch information
keelinm committed Nov 29, 2021
1 parent bae19dd commit b7c6ee2
Show file tree
Hide file tree
Showing 8 changed files with 47 additions and 20 deletions.
67 changes: 47 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,7 @@ Please update your ```test/expected_output.json``` according to your algorithm r
### Submit your algorithm
Details of how to create an algorithm on grand-challenge and submit it to the node21 challenge will be added here soon.
Please make sure all steps described above work as expected before proceeding. Ensure also that you have an account on grand-challenge.org and that you are a [verified user](https://grand-challenge.org/documentation/account-verification/) there.
<!---

<a name="submit"/>

### Submit your algorithm
Expand All @@ -240,37 +240,64 @@ Please make sure all steps described above work as expected before proceeding.
Once you test that your docker container runs as expected, you are ready to submit! Let us walk you through the steps you need to follow to upload and submit your algorithm to [NODE21](https://node21.grand-challenge.org/) detection track:

1. In order to submit your algorithm, you first have to create an algorithm entry for your docker container [here](https://grand-challenge.org/algorithms/create/).
* Please choose a title for your algorithm and add a (squared image) logo. Enter the modalities and structure information as in the example below.
![alt text](images/algorithm_description.PNG)
* Please choose a title and description for your algorithm and enter the modalities and structure information as in the example below.
![alt text](images/create_alg_det1.png)

* Scrolling down the page, you will see that you need to enter further information:
* Enter the URL of your GitHub repository which must be public, contain all your code and an [Apache 2.0 license](https://www.apache.org/licenses/LICENSE-2.0). When entering the repo name in algorithm-creation do not enter a full URL, only the part that comes after github.com/. For example if your github url is https://github.com/ecemlago/node21_detection_baseline/, please enter the field as *ecemlago/node21_detection_baseline*.
* Select a logo to represent your algorithm (preferably square image)
* For the interfaces of the algorithm, please select *Generic Medical Image (Image)* as Inputs, and *Nodules (Multiple 2D Bounding Boxes)* as Outputs.
* Do not forget to pick the workstation *Viewer CIRRUS Core (Public)*.

![alt text](https://github.com/ecemlago/node21_detection_baseline/blob/master/images/alg_interfaces.PNG)
![alt text](images/create_alg_det2.png)

* At the bottom of the page, indicate that you would like your Docker image to use GPU and how much memory it needs
![alt text](images/container_img_config.PNG)
* Don't forget to click the Save button at the bottom of the page to create your algorithm. You will then see your algorithm page as shown below.
![alt text](images/create_alg_det3.png)

2. After saving it, you can either upload your docker container (.tar.gaz) or you can let grand-challenge build your algorithm container from your github repository.
OPTION 1: If you would like to upload your docker container directly, please click on "upload a Container" button, and upload your container. You can also later overwrite your container by uploading a new one. That means that when you make changes to your algorithm, you could overwrite your container and submit the updated version of your algorithm to node21:
![alt text](images/algorithm_uploadcontainer.PNG)
2. After creating your algorithm, you need to attach a docker container to it so it becomes functional. There are 2 ways to do this:
* OPTION 1: If you already built the tar.gz file as described above then you can upload this file directly
* OPTION 2: You can provide your repository details and the file will be built by Grand-Challenge from your repository code. Please bear in mind that the root of the github repository must contain the dockerfile, the licence, the gitattributes in order to build the image for you. Further, you must have admin rights to the repository so that you can give permission for Grand Challenge to install an app there.

For either option, first choose "Containers" on the left menu of your screen as shown below, then follow the detailed steps for your option below.
![alt text](images/create_alg_det4.png)

**OPTION 1:** If you would like to upload your docker container directly, click on "upload a Container" button, and upload your tar.gz file.
You can also later overwrite your container by uploading a new one (ie. you should not create a whole new algorithm if you make some code changes):
Please note that it can take a while until the container becomes active. (Status will change from "Ready: False" to "Active") Check back later or refresh the URL after some time.

**OPTION 2:** If you would like to submit your repository and let grand-challenge build the docker image for you, click on "Link Github Repo".
Your repo will be listed in the dropdown box only if it has the Grand-Challenge app already installed.
Usually this is not the case to begin with, so you should click on "link a new Github Repo".
This will guide you through the installation of the Grand-challenge app in your repository.
![alt text](images/add_repo_det.png)

OPTION 2: If you would like to submit your repository and let grand-challenge build the docker image for you, please click on "Link github repo" and select your repository to give repository access to grand-challenge to build your algorithm. Once this is done, you should tag the repo to kick off the build process. Please bear in mind that, the root of the github repository must contain the dockerfile, the licence, the gitattributes in order to build the image for you. Further, you must have admin rights to the repository so that you can give permission for GC to install an app there.
![alt text](images/container_image.PNG)
3. OPTIONAL: Please note that it can take a while (several minutes) until the container becomes active. After it uploads successfully you will see the details of the Algorithm with "Ready: False"
You can check back at any time on the "Containers" page and see if the status has changed to "Active".
Once it becomes active, we suggest that you try out the algorithm to verify everything works as expected. For this, please click on *Try-out Algorithm* tab, and upload a *Generic Medical Image*. You could upload the image provided here in the test folder since it is a 3D image (CXRs are stacked together) which is the expected format.
After the installation of the app in your repository is complete you should be automatically returned to the Grand Challenge page shown above,
where you will find your repository now in the dropdown list.
(In case you are not automatically returned there you can [find your algorithm](https://grand-challenge.org/algorithms/) and click "Link Github Repo" again)
Select your repository from the dropdown list and click "Save"
![alt text](images/add_repo_det3.png)

Finally, you need to tag your repository, this will trigger Grand-Challenge to start building the docker container.
Please note that it can take a little while for Grand-Challenge to start building your container, and some further time to complete the build. Check back later or refresh the URL after some time.

3. **Both OPTION1 and OPTION2 can continue from here:** Once your algorithm is ready to run you will see the status "Active" beside it as shown below
![alt text](images/build_complete_det.png)
Once it becomes active, we suggest that you try out the algorithm to verify everything works as expected. For this, please click on *Try-out Algorithm* tab, and upload a *Generic Medical Image*. You could upload the image provided here in the test folder since it is a 3D image (CXRs are stacked together) which is the expected format.
![alt text](images/algorithm_tryout.PNG)
4. OPTIONAL: You could look at the results of your algorithm: click on the *Results*, and *Open Result in Viewer* to visualize the results. You would be directed to CIRRUS viewer, and the results will be visualized with the predicted bounding boxes on chest x-ray images as below. You could move to the next and previous slice (slice is a chest x-ray in this case) by clicking on the up and down arrow in the keyboard.
![alt text](images/algorithm_results.PNG)
OPTIONAL: You could look at the results of your algorithm: click on the *Results*, and *Open Result in Viewer* to visualize the results. You would be directed to CIRRUS viewer, and the results will be visualized with the predicted bounding boxes on chest x-ray images as below. You could move to the next and previous slice (slice is a chest x-ray in this case) by clicking on the up and down arrow in the keyboard.
![alt text](images/algorithm_results.PNG)

4. You have created and tested your Grand-Challenge Algorithm!! The last step is to submit your algorithm to the NODE21 challenge to have it evaluated and get your spot on the leaderboard!
Go to the [NODE21 submission page](https://node21.grand-challenge.org/evaluation/challenge/submissions/create/), and click on the track where you want to participate
("Detection Track Experimental Test Set" OR "Detection Track Final Test Set").
**Only one submission to the Final Test Set is allowed so please use the Experimental Test Set for your first testing efforts!**
Choose your algorithm name from the dropdown list and click on "Save"
5. Allow some time for the evaluation to be processed. It may not start immediately depending on what hardware resources are available at the time.
Your result will appear on the [leaderboard page](https://node21.grand-challenge.org/evaluation/challenge/leaderboard/) (make sure to select the track where you submitted).
If you do not see your result after 24 hours please contact us via email or the forum and provide your algorithm name and date/time you submitted in Central European Time.


5. Go to the [NODE21](https://node21.grand-challenge.org/evaluation/challenge/submissions/create/) submission page, and submit your solution to the detection track by choosing your algorithm.
![alt text](node21_submission.PNG)
-->



Binary file added images/add_repo_det.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/add_repo_det3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/build_complete_det.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/create_alg_det1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/create_alg_det2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/create_alg_det3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/create_alg_det4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit b7c6ee2

Please sign in to comment.