Skip to main content

This package contains methods for medical image segmentation.

Project description

Dissector

(Badges to be updated soon.)

fair-software.eu recommendations
code repository github repo badge
license github license badge
community registry RSD workflow pypi badge
citation DOI
howfairis fair-software badge
Other best practices  
Documentation Documentation Status
Build build
Citation data consistency cffconvert
Link checker link-check

How to use dissector

Dissector is is an open-source python library which contains methods for medical image segmentation and the evaluation of medical image segmentation. The module for evaluation contains methods to compare a segmentation to a 'ground truth' segmentation. This module should be run in it's own dedicated environment, which can be made in conda (see yaml environment_evaluation), pip or uv. Currently it has only been tested in conda, but the requirements are loose.
The metrics beyond the expected (hausdorf, jaccard, fp, fn, dice) implemented are : boundary intersection over union, binary cross entropy (for comparing two binary segmentation masks). Please note at present a much more robust group of metrics can be created with libraries like MONAI (metrics doc link). Metrics here are implemented for convenience i.e. no need to load pytorch, have lot of GPU space or cry as dependancies clash. Images can be extracted from DICOM files or used directly (nifti or arrays). The long term goal of the dissector project is to compare existing segmentation methods to a to be released state of the art method currently being built but not publicly released yet. This new method exploits the various types of noise in different MRI sequences...so computer science enthousiasts can probably guess the kind of model on the way. The primary authors are Candace Makeda H. Moore and Morris Alper.

At current we are testing all kinds of models. This included adapting one model:

A MedSegDiff adaptation (medsegdiff/)

The medsegdiff/ directory contains an adaptation of MedSegDiff — a denoising diffusion probabilistic model (DDPM) for medical image segmentation — applied to Dixon MRI thigh muscle segmentation on the myosegmenTUM dataset.

The original MedSegDiff algorithm was developed by:

Wu, J., Fu, R., Fang, H., Zhang, Y., Yang, Y., Xiong, H., Liu, H., & Xu, Y. (2024). MedSegDiff-V2: Diffusion-Based Medical Image Segmentation with Transformer. Proceedings of the AAAI Conference on Artificial Intelligence.

Wu, J., Fu, R., Fang, H., Zhang, Y., & Xu, Y. (2023). MedSegDiff: Medical Image Segmentation with Diffusion Probabilistic Model. Medical Imaging with Deep Learning (MIDL).

The original code is available at https://github.com/WuJunde/MedSegDiff under its respective licence. The implementation in this repository is an independent re-implementation that adapts the core DDPM ε-prediction paradigm to two-channel Dixon (water + fat-fraction) conditioning with four binary per-muscle models.

Note: medsegdiff/ is a standalone training and inference tool directory — it is intentionally kept outside src/ and is not part of the installable dissector Python package. The scripts (train.py, predict.py) are meant to be run directly (e.g. python medsegdiff/train.py --muscle R_gracilis) and are not importable as dissector library code.

Installation

To install dissector from GitHub repository, do:

git clone git@github.com:drcandacemakedamoore/dissector.git
cd dissector
python -m pip install .

Instructions for uv and conda soon to come...

Documentation

One source should be https://drcandacemakedamoore.github.io/dissector/. Pypi and build the docs may take longer. Until then it should be online and buid in your docs/_build folder.

Contributing

If you want to contribute to the development of dissector, have a look at the contribution guidelines.

Credits

This package was created with Copier and the NLeSC/python-template.

Acknowledgements

This package supports scientific research which was supported in part by Lambda, Inc.

Generative AI disclosure

This package has some code created with the aid of generative AI. All code on the main branch and in releases is human author written and/or reviewed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dissector-0.0.7.tar.gz (394.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dissector-0.0.7-py3-none-any.whl (25.3 kB view details)

Uploaded Python 3

File details

Details for the file dissector-0.0.7.tar.gz.

File metadata

  • Download URL: dissector-0.0.7.tar.gz
  • Upload date:
  • Size: 394.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for dissector-0.0.7.tar.gz
Algorithm Hash digest
SHA256 f8ca2db462db97b8df7b669ad193551857293fd76cdfc4eec3b020a1c7c7bfd3
MD5 69a8cd82e3e0e6307fae0e27f574966e
BLAKE2b-256 d61d0cb399c5743d2c1ba8634b6c3ea26e27a0a24d0c6ac6be0a81a7aa4adce5

See more details on using hashes here.

File details

Details for the file dissector-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: dissector-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 25.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for dissector-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 070ad3573e66b8a837b07b919a4fedd5a3481834ff348d6066fe4db61760f701
MD5 8502beeabe212f2bc125b3c2ffd4aed1
BLAKE2b-256 b86e0534ce6c05b1c4730b242313281a0bf522c777fbdfa04cc72871d4406952

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page