{"id":20215215,"url":"https://github.com/kitwaremedical/slicernnunet","last_synced_at":"2025-04-10T14:10:55.531Z","repository":{"id":230068471,"uuid":"776077822","full_name":"KitwareMedical/SlicerNNUnet","owner":"KitwareMedical","description":"3D Slicer nnUNet integration to streamline usage for nnUNet based AI extensions.","archived":false,"fork":false,"pushed_at":"2025-01-15T08:31:25.000Z","size":698,"stargazers_count":33,"open_issues_count":8,"forks_count":6,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-03-24T12:55:33.891Z","etag":null,"topics":["3d-slicer-extension","machine-learning","medical-imaging","nnunet"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KitwareMedical.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-22T16:28:23.000Z","updated_at":"2025-03-20T21:40:25.000Z","dependencies_parsed_at":"2024-06-10T07:55:20.851Z","dependency_job_id":"97775fcd-c468-4843-8481-2e1d647c57fc","html_url":"https://github.com/KitwareMedical/SlicerNNUnet","commit_stats":null,"previous_names":["kitwaremedical/slicernnunet"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KitwareMedical%2FSlicerNNUnet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KitwareMedical%2FSlicerNNUnet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KitwareMedical%2FSlicerNNUnet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KitwareMedical%2FSlicerNNUnet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KitwareMedical","download_url":"https://codeload.github.com/KitwareMedical/SlicerNNUnet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248232411,"owners_count":21069487,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d-slicer-extension","machine-learning","medical-imaging","nnunet"],"created_at":"2024-11-14T06:20:30.220Z","updated_at":"2025-04-10T14:10:55.486Z","avatar_url":"https://github.com/KitwareMedical.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Slicer nnUNet\n\n\u003cimg src=\"https://github.com/KitwareMedical/SlicerNNUnet/raw/main/Screenshots/1.png\" width=\"800\"/\u003e\n\n## Table of contents\n\n* [Introduction](#introduction)\n* [Acknowledgments](#acknowledgments)\n* [Using the extension](#using-the-extension)\n* [Changelog](#changelog)\n* [Expected Weight Folder Structure](#expected-weight-folder-structure)\n* [Contributing](#contributing)\n\n## Introduction\n\n\u003cdiv style=\"text-align:center\"\u003e\n\u003cimg class=\"center\" src=\"https://github.com/KitwareMedical/SlicerNNUnet/raw/main/SlicerNNUnet/Resources/Icons/SlicerNNUnet.png\"/\u003e\n\u003c/div\u003e\n\nThis module allows to install and run nnUNet trained models in 3D Slicer with only the training folder.\n\nIt streamlines development and integration of new nnUNet models into the 3D Slicer environment.\n\n## Acknowledgments\n\nThis module was originally co-financed by the \n\u003ca href=\"https://orthodontie-ffo.org/\"\u003eFédération Française d\\'Orthodontie\u003c/a\u003e (FFO) as part of the \n\u003ca href=\"https://github.com/gaudot/SlicerDentalSegmentator/\"\u003eDental Segmentator\u003c/a\u003e \ndevelopments and the \u003ca href=\"https://rhu-cosy.com/en/accueil-english/\"\u003eCure Overgrowth Syndromes\u003c/a\u003e \n(COSY) RHU Project.\n\nThe installation steps are based on the work done in the \n\u003ca href=\"https://github.com/lassoan/SlicerTotalSegmentator/\"\u003eSlicer Total Segmentator extension\u003c/a\u003e.\n\nThis extension interfaces 3D Slicer with the \n\u003ca href=\"https://github.com/MIC-DKFZ/nnUNet\"\u003ennUNet library\u003c/a\u003e.\n\nIsensee, F., Jaeger, P. F., Kohl, S. A., Petersen, J., \u0026 Maier-Hein, K. H. (2021). nnU-Net: a self-configuring \nmethod for deep learning-based biomedical image segmentation. Nature methods, 18(2), 203-211.\n\n\n## Using the extension\n\nThis extension can be installed directly using Slicer's extension manager.\n\nOnce installed, navigate to `Segmentation\u003ennUNet` in the modules drop down menu or search directly\nfor `nnUnet`.\n\nOnce in the widget, you can install nnUNet's dependencies by clicking on the \"nnUNet Install\" button.\n\n\u003cimg src=\"https://github.com/KitwareMedical/SlicerNNUnet/raw/main/Screenshots/2.png\"/\u003e\n\nThis area will display the current version of nnUNet in 3D Slicer's environment.\nIf nnUNet is not yet installed, the current version will display None.\nIt can be installed by clicking on the install Button.\n\nAfter the install is complete, the current version should display the latest nnUNet version or the version as set in\nthe \"To install\" field.\n\n\u003cimg src=\"https://github.com/KitwareMedical/SlicerNNUnet/raw/main/Screenshots/3.png\"/\u003e\n\nNote that the extension may require a 3D Slicer restart before running the inference.\n\nOnce the nnUNet is correctly installed, click on the 'nnUNet Run Settings' button to set the path to the Model to use.\nThis path will be saved for further usage after the first segmentation.\n\nThe provided model path should contain the nnUNet 'dataset.json' file.\n\n\u003e [!NOTE]\n\u003e To test this extension, you can download the \n\u003e \u003ca href=\"https://github.com/wasserth/TotalSegmentator/releases\"\u003eTotal Segmentator NNUNet weights\u003c/a\u003e \n\u003e and use the `CTChest` Sample. \n\n\n\u003e [!WARNING]\n\u003e The model weight folder structure should follow the nnUNet expected weight structure for this module to work\n\u003e (see the [expected weight folder structure](#expected-weight-folder-structure) section)\n\n\u003cimg src=\"https://github.com/KitwareMedical/SlicerNNUnet/raw/main/Screenshots/4.png\"/\u003e\n\nSelect the volume on which to run the model using the volume input editor.\n\nThen click on the `Apply` button.\n\nThe logs console will display all the information regarding running the input model.\n\nOnce the model has finished running, the segmentation will be loaded into 3D Slicer with its associated labels.\nIt can then be viewed and edited in the `Segment Editor` module.\n\n\u003cimg src=\"https://github.com/KitwareMedical/SlicerNNUnet/raw/main/Screenshots/1.png\"/\u003e\n\n## Expected weight folder structure\n\nTo properly run the nnUNet prediction, the nnUNet weight folder structure should be preserved.\n\nnnUNet structure should look like the following : \n* \u003cdataset_id\u003e : The dataset id should be either a string beginning by Dataset or an integer\n  * \u003ctrainer_name\u003e__\u003cplan_name\u003e__\u003cconfig_name\u003e : default configuration folder name is `nnUNetTrainer__nnUNetPlans__3d_fullres`\n    * fold_\u003c\u003e : Fold folder from 0 to n containing the training weights\n      * \u003cweight_name\u003e : By default the weight name is `checkpoint_final.pth` it can also be modified using the `Parameter` class\n    * dataset.json : Configuration file containing dataset labels\n\nIf this structure is not preserved, the inference will raise an error.\n\nThe `Parameter` class provides an `isValid` method to check if the provided model structure is valid.\n\nPlease read [the official nnUNet documentation](https://github.com/MIC-DKFZ/nnUNet/blob/master/documentation/how_to_use_nnunet.md#3d-u-net-cascade) \nfor more information.\n\n## Contributing\n\nThis project welcomes contributions. It follows Slicer's rules for contributions. \nIf you want more information about how you can contribute, please refer to\nthe [CONTRIBUTING.md file](https://github.com/Slicer/Slicer/blob/main/CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkitwaremedical%2Fslicernnunet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkitwaremedical%2Fslicernnunet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkitwaremedical%2Fslicernnunet/lists"}