Giter VIP home page Giter VIP logo

ubern-mia / pyradise Goto Github PK

View Code? Open in Web Editor NEW
41.0 41.0 5.0 8.82 MB

PyRaDiSe: A Python package for DICOM-RT-based auto-segmentation pipeline construction and DICOM-RT data conversion

Home Page: https://pyradise.readthedocs.io/en/latest/index.html

License: Apache License 2.0

Makefile 0.08% Batchfile 0.10% Python 99.82%
auto-segmentation deep-learning dicom dicom-rt radiotherapy segmentation

pyradise's People

Contributors

amithjkamath avatar mauricioreyes avatar melandur avatar ruefene avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

pyradise's Issues

Replace np.float with float

Numpy has deprecated the support for the library-specific np.float type. We should replace it with Python's float.

Additional tutorials for converting common public datasets

Because PyRaDiSe will probably be used with common public datasets, we should provide tutorials for converting those datasets to discrete images so that users can reuse the existing code and speed up their work. Maybe we can create a separate tutorial section on public dataset conversion!?

Refactoring fileio/writing.py

  • Harmonize params of SubjectWriter, DicomSeriesSubjectWriter, DirectorySubjectWriter
  • Synergize path_checks, dir_checks, etc.
  • Enhance test friendliness

Adaptive sequence based registration strategy

This is in between a hard candy and wish full thinking, since there is a wast amount and variety of sequence types.
It very likely that this request touches other parts of the pipeline as well, presumably some data control/check module (not implemented yet)
Since this is rather a broad topic I try to focus on the registration module for now.
It would beneficial to have a registration protocol, which acknowledges the sequences types.
Especially, this would be helpful to deal with diffusion and perfusion images, where more nuanced registration strategies need to be employed.

Segmentation Mask registration

  • Reference segmentation mask to image sequence (Multi masks as well)
  • Transform seg mask with ref image transformation matrix
  • Use KNN interpolator to preserve seg mask labels

Intra-Inter Registration

As far as I can tell, intra- and inter-registration do not appear to be linked.
However, it is common for registration to be performed sequentially.
The image sequence closest to a particular atlas sequence is used for an inter-registration step, and then the other sequences are intra-registered with the first sequence already registered.

Therefore, I propose an intra-inter-registration method, to address this issue.

Consider renaming the conversion and curation modules to convert and curate

This is a general comment: I would imagine avoiding 'ion' and 'ing' suffixes to package names will make the code read better. This way, the names indicate only what they do, and not the process of doing it (I hope this makes sense).

If you (@ruefene) think I can make this change myself, please let me know here and I can create a new pull request with these changes.

Thanks!

branch subject

previous subject state.
The playback function is not ideal for this purpose.
The mechanic should cover the following:

  • Deep copying a subject and subject tape.
  • Adding a subject tag

Add support for scaled PET images

Feedbacks indicate that PET is used in other institutions and we should add support for it. However, PET images seems to possess a scaling of the intensity values (see DICOM attributes RescaleIntercept, RescaleSlope, and RescaleType) and potentially have additional fields to consider for correct import. Let's dive in this topic with our experts.

Consider renaming the loading and serialisation package to 'fileIO'

@ruefene - the more I think of this, the more it feels like typical users would not really connect with the name: serialization to save data to files. I understand it is technically correct, and along the same lines, you could also name the loading package 'deserialization'.

However, to make this easier to read and understand, I propose combining the two and renaming the entire package 'fileIO' or something similar.

I imagine

from pyradise import fileio

fileio.load(...)
fileio.save(...)

to look cleaner than

from pyradise import serialization 
from pyradise import loading

.... 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.