

There are two ways DICOM application can collaborate with one another. So when creating your DICOM images if you intend to create DICOMDIR for them, add these elements too.

#WHAT IS A DICOMDIR FILE SERIES#
DICOMDIR is a DICOM Object holding a sequence of DICOMDIR records nodes each having a type like PATIENT, STUDY, SERIES and IMAGE.The DICOMDIR file has in it records that hold paths to DICOM files on the media.Standard DICOM CD/DVD should have a file named DICOMDIR in its root directory.Here's a list with quick information about DICOMDIR: Linux Man Pages dcmmkdir: Create a DICOMDIR.ĭICOMDIR, Have you heard this term? What does it mean? Do I need this in my system? Lots of questions. The dcmmkdir utility creates a DICOMDIR file from the specified referenced DICOM files according to the DICOM Part 11. Cannot create DICOMDIR file using GDCM library. Offis also has a tool for checking DICOM files against the standard. So when creating your DICOM images if you intend to create DICOMDIR. If we open the DICOM image stored in a separate DICOMDR no, is not no way to get information about this picture of it, in fact not the case, the DICOM image files, Not only the image data itself, but also many fields related to the attributes of the image, the specific situation of the image collection, and even the basic information of the patient.DICOMDIR and Media Interchange. ③The tag corresponding to the field can be found in the dcdeftag.h file of DCMTK ①For example, if there is a field stored in Study, then it can only be read in Study ②Pay There are three points to pay attention to: While (((ImageRecord = SeriesRecord ->getSub(l)) != NULL))įindAndGetOFStringArray(DCM_ReferencedFileID, tmpString, true). If (SeriesRecord ->findAndGetOFString(DCM_SeriesNumber, tmpString). While (((SeriesRecord = StudyRecord ->getSub(k)) != NULL))ĭicomSeries *m_series = new DicomSeries() If (StudyRecord ->findAndGetOFString(DCM_PatientBirthDate, tmpString). While (((StudyRecord = PatientRecord ->getSub(j)) != NULL))

If (PatientRecord ->findAndGetOFString(DCM_PatientID, tmpString). Int i = 0, j = 0, k = 0, l = 0 //Four-layer loop variable while (((PatientRecord = DicomDirRootRecord ->getSub(i)) != NULL))ĭicomPatient *m_patient = new DicomPatient() getRootRecord()) ĭcmDirectoryRecord * PatientRecord = NULL //first layer, Patient (N)ĭcmDirectoryRecord * StudyRecord = NULL //second layer, Study (N)ĭcmDirectoryRecord * SeriesRecord = NULL //third layer, Series (N)ĭcmDirectoryRecord * ImageRecord = NULL //The fourth layer, Image (N) We can open this file through the function of DCMTK and output it as a text file to observe what is stored in itĭcmDicomDir dicomdir( "DICOMDIR file path") ĭcmDirectoryRecord * DicomDirRootRecord = &(dicomdir. If we understand this rule, we can easily distinguish which pictures are a continuous scan and which pictures belong to The same patient.ĭICOMDIR file ? The DICOMDIR file stores various information of this DICOM archive. This case refers to an image file that contains multiple patients and multiple sequences, and Comes with the supporting DICOMDIR file, but these pictures are stored in layers according to a certain rule.
#WHAT IS A DICOMDIR FILE SOFTWARE#
This case refers to an image file containing a plurality of patients and a plurality of sequences, and with a supporting DICOMDIR file, but this patient and a plurality of images are mixed together to store a plurality of sequences, without the aid of other software with the naked eye can not distinguish which pictures belong to the same patient. This form of medicine is only a single image, without any other document, nor belong to scan other picture sequence with this picture. This article mainly talks about the storage form of DICOM file archives.ĭICOM image There are three common forms of existence: Previous article gives VTK + V + QT installation method, the remaining two libraries, that is, ITK and DCMTK installation is very simple, has some experience with CMake can easily compile a success we need Library.
