Dissector
(Badges to be updated soon.)
| fair-software.eu recommendations | |
|---|---|
| code repository | |
| license | |
| community registry | |
| citation | |
| howfairis | |
| Other best practices | |
| Documentation | |
| Build | |
| Citation data consistency | |
| Link checker |
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.
Metadata
Release files for dissector 0.0.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| dissector-0.0.7.tar.gz | 394.1 kB | Without provenance | Details for dissector-0.0.7.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| dissector-0.0.7-py3-none-any.whl | Python 3 | none | any | Details for dissector-0.0.7-py3-none-any.whl |
Total release size: 419.4 kB
Release files / dissector-0.0.7.tar.gz
| Download URL | dissector-0.0.7.tar.gz |
|---|---|
| Size | 394.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f8ca2db462db97b8df7b669ad193551857293fd76cdfc4eec3b020a1c7c7bfd3
|
|
BLAKE2b-256 checksum How to use checksums |
d61d0cb399c5743d2c1ba8634b6c3ea26e27a0a24d0c6ac6be0a81a7aa4adce5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|
Release files / dissector-0.0.7-py3-none-any.whl
| Download URL | dissector-0.0.7-py3-none-any.whl |
|---|---|
| Size | 25.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
070ad3573e66b8a837b07b919a4fedd5a3481834ff348d6066fe4db61760f701
|
|
BLAKE2b-256 checksum How to use checksums |
b86e0534ce6c05b1c4730b242313281a0bf522c777fbdfa04cc72871d4406952
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|
Security for dissector 0.0.7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.