Package: dicom4ortho
dicom4ortho 0.2.2A Python library to create fully defined orthodontic photographs in DICOM.Explore the docs »View Demo·Report Bug·Request FeatureAbout The ProjectBuilt WithGetting StartedPrerequisitesInstallationValidation with dicom3toolsUsageCSV Image file formatpatient_firstnamepatient_lastnamepatient_idpatient_sexpatient_birthdatedental_provider_firstnamedental_provider_lastnameimage_typemanufacturerinput_image_filenamestudy_instance_uidstudy_descriptionseries_instance_uidseries_descriptionKnown IssuesRoadmapContributingLicenseContactAcknowledgementsAbout The ProjectThe DICOM standard is ready for any developer in the orthodontic community to
implement. However, it can be complicated and implementation can be time
consuming. We want to create a proof of concept to demonstrate how to
properly store orthodontic visible light images (aka photographs) using
DICOM, while ensuring all codes (necessary to uniquely identify each image
type) are in the proper place.Here's why:Your time should be focused on creating something amazing.Being able to import and export DICOM images to and from your orthodontic
software will open doors to you and the orthodontic provider.No one software will serve all orthodontic providers completely. Adding
interoperability will allow your product to integrate with others, giving
additional value to your solution.You may suggest changes by forking this repo and creating a pull request or
opening an issue. Thanks to all the people have have contributed to this
project!A list of commonly used resources that we find helpful are listed in the
acknowledgements.Built Withpydicompillowdicom3toolsGetting StartedLike any other Python module, install the module than use it. There is a CLI
interface as well.PrerequisitesAn installation of Python 3+.optional:dicom3toolsInstallationInstall unsing pipenv by running$ pipenv install dicom4orthoInstall using pip by running$ pip install dicom4orthoOnly Python 3+ is supportedValidation with dicom3toolsThe dicom3tools are used to validate and is only used when the--validateoption is used. This is just a conveninece wrapper for debugging, and it's
installation is not necessary for normal operation.Thedicom3toolscan be installed
from compiled binaries, which are available for macOS and Windows.Once installed, pointDICOM3TOOLS_PATHindefaults.pyto the installation
of the dicom3tools.UsageThe official documentation of this project is available on linehere. Source code for the
documentation is in this repository under thegh-pagesbranch.The DICOM images require a lot of information which is not contained in a
flat PNG or JPEG image. This information would, in a production environment,
usually come from the practice management software, or photo management
software.The easiest way to feed this information todicom4ortho's CLI is using a
CSV file. You can find an example CSV filehereOnce installed, if necessary, start the virtual environment:pipenv shellthen use dicom4ortho like this:$ dicom4ortho <filename>Wherefilenameshould be a.csvfile. Passing a single image file with
metadata through arguments is planned for future implementations.CSV Image file formatThe CSV file should be:with,as separatorUTF-8encodedEach CSV file should containt the following columns (header)patient_firstnamePatient first name. First part of DICOM tag(0010, 0010) Patient's Name.patient_lastnamePatient last name. Second part of DICOM tag(0010, 0010) Patient's Name.patient_idPatient ID. DICOM(0010, 0020) Patient IDtag.patient_sexPatient's gender. DICOM(0010, 0040) Patient's Sextag.patient_birthdatePatient's date of birth in YYYY-MM-DD format. DICOM(0010, 0030) Patient's Birth Datetag.dental_provider_firstnameFirst name of orthodontic (or dental) provider. First part of DICOM(0008, 0090) Referring Physician's Nametag.dental_provider_lastnameLast name of orthodontic (or dental) provider. Second part of DICOM(0008, 0090) Referring Physician's Nametag.image_typeImage type as defined by ADA SCDI WP-1100. Typedicom4ortho list-image-typesfor a list of allowed image types.manufacturerManufacturer of Camera. For example, when using an iPhone, useApplehere. Overrides input file's EXIF metadata.input_image_filenameFull path of flat JPG/PNG/TIFF image file to use as input.study_instance_uidThe unique identifier that distinguishes this study from any other study. For
orthodontic purposes, all images taken during the same patient visit, should
go under the same study, thus have the same study UID.This is a DICOM UID object and goes into the DICOM(0020, 000d) Study Instance UIDtag. The exact format is defined inDICOM Part 5 Data
Structures and Encoding - Value Encoding - Value
Representationstudy_descriptionA description for this specific study. For orthodontic purposes, this value
could be something like 'Initial Visit'.This is a DICOM UID object and goes into the DICOM(0008, 1030) Study Description. Maximum 64 characters are allowed, as defined theDICOM LO
VRseries_instance_uidThe unique identifier that distinguishes this series from any other series.
For orthodontic purposes, all images taken with the same imaging device (for
photographs, this would be the camera) and during the same study (hence
appointment visit) should be part of the same series, thus have the same
series UID.This is a DICOM UID object and goest into the DICOM(0020, 000e) Series Instance UIDtag. The exact format is defined inDICOM Part 5 Data
Structures and Encoding - Value Encoding - Value
Representationseries_descriptionA description for this specific series. For orthodontic purposes, this value
could be something like 'Orthodontic Intraoral Series'.This is a DICOM UID object and goes into the DICOM(0008, 103e) Series Description. Maximum 64 characters are allowed, as defined theDICOM LO
VRKnown IssuesPlease check theImplementation Statusdocument.RoadmapSee theopen issuesfor a list of proposed features (and known issues).ContributingContributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make aregreatly appreciated.Fork the ProjectCreate your Feature Branch (git checkout -b feature/AmazingFeature)Commit your Changes (git commit -m 'Add some AmazingFeature')Push to the Branch (git push origin feature/AmazingFeature)Open aPull RequestLicenseDistributed under the MIT License. SeeLICENSEfor more information.ContactToni Magni-@zgypa-open-ortho@afm.coProject Link:https://github.com/open-ortho/dicom4orthoAcknowledgementsDICOMAmerican Dental Association Standards Committee for Dental Informatics