Git Product home page Git Product logo

dicom4ortho's People

Contributors

dependabot[bot] avatar moonholly avatar zgypa avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

dicom4ortho's Issues

Add support for advanced person name attributes (suffix, middle, prefix)

Currently, only supports family name and given name (first and last). However, DICOM PN also support suffixe, middle and prefix. To be able to add Dr., for example, that level of implementation would be needed.

Currently, i have written my own helper function. However, i could use the pydicom.valuerep.PersonName as documented in https://pydicom.github.io/pydicom/stable/reference/generated/pydicom.valuerep.PersonName.html . Limitation is that out of the box it doesn't support adding name attributes after having set one. So setting first name then setting last name would result in a last name only.

This is how a simple implementation could look like:

from pydicom.valuerep import PersonName

...

    @ property
    def patient_firstname(self):
        return PersonName(self._ds.PatientName).given_name
        
    @ patient_firstname.setter
    def patient_firstname(self, firstname):
        self._ds.PatientName = PersonName.from_named_components(
            given_name=firstname
        )

Question is: how important is this?

Add ability to push image to DICOM PACS

The dicom4ortho should also have an easy way to upload to a PACS, preferably using WADO. Although backward compatibility with traditional C-MOVE might be requested/required.

Missing ability to set Series UID.

We need a way to save a set of Photos as part of the same series. It is therefore required to do something like this:

from m_orthodontic_photograph import OrthodonticSeries
from m_orthodontic_photograph import OrthodonticPhotograph

series = OrthodonticSeries()
# generates a new OrthodonticSeries object with its UUID

photo = OrthodonticPhotograph()
photo.set...
# set various parameters for photo


series.add(photo)

series.save(location="output/directory/")

Incorrect Tooth codes.

After reviewing the tooth codes briefly with Mark Jurkovich, we have found that some of them are incorrect. They will have to be corrected in WP1100 first, then implemented here again here.

Add ability to load DICOM tag mapping from ADA-1107

The ADA-1107 repo a CSV file called views.csv which contains the DICOM tags to use for clinically relevant information. dicom4ortho should use that file to perform the mapping. This would also allow dicom4ortho to support various different versions of ADA-1107.

Improve how dicom3tools dependency is dealt with.

Currently, dicom3tools are used to test/verify the conformance of the produced image. There is a mention in README.md to use defaults.py. Could be better to use a .env schema? Or a local config scheme? Maybe default the location of the tools under modules/. The Makefile could automatically download the tool. I think the URL is pretty standard. For example:

https://www.dclunie.com/dicom3tools/workinprogress/winexe/dicom3tools_winexe_1.00.snapshot.20220618093127.zip

Add functionality to compress or encapsulate compressed images.

Currently, when passing a 850kB JPG image, the image is transformed into about 8.5MB, as it is stored in raw DICOM format. This is incorrect, because the DICOM tags incorrectly report the image has not lost information, while it has. Besides, there is no extra information being saved by decompressing a lossy compressed JPG image. The ideal flow would be to:

  • capture image in RAW format
  • pass it to dicom4ortho
  • have dicom4ortho compress is using some lossless compression algorithm like JPEG2000
  • save image in DICOM (as encapsulated)

Or encapsulate the passed JPEG as such, correctly stating its lossy compression.

Incomplete allowed teeth per view.

m_orthodontic_photograph.ALLOWED_TEETH array should be completed for IV image types.

No teeth is being set for EV, because EVs are not intended to show teeth.

Missing views.csv and codes.csv from ADA-1107 in repository

Instead of having dicom4ortho load the CSV files necessary to generate the correct DICOM from ADA-1107 at runtime, it would be better to just include them as a resource into the Python package. This issue is present in the develop branch and needs to be fixed there.

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.