public static (string Value, PreambleStatus Status) Read(string filePath, string group, string element)
        {
            TransferSyntax syntax = TransferSyntax.IMPLICIT_VR_LITTLE_ENDIAN;
            PreambleStatus preambleStatus;
            DICOMObject    dicomObject = null;

            using (var dicomBinaryReader = new DICOMBinaryReader(filePath))
            {
                preambleStatus = Read(dicomBinaryReader);
                if (preambleStatus == PreambleStatus.Ok || preambleStatus == PreambleStatus.MismatchPreamble128)
                {
                    List <IDICOMElement> metaElements = DICOMFileReader.ReadFileMetadata(dicomBinaryReader, ref syntax);
                    List <IDICOMElement> elements     = metaElements.Concat(DICOMElementReader.ReadAllElements(dicomBinaryReader, syntax)).ToList();
                    dicomObject = new DICOMObject(elements);
                }
            }

            IDICOMElement value = dicomObject?.Elements.FirstOrDefault(d => d.Tag.Group == group && d.Tag.Element == element);

            return(value?.DData.ToString(), preambleStatus);
        }
Esempio n. 2
0
        public void ReadMetaXLittleEndian()
        {
            var dcm = DICOMFileReader.ReadFileMetadata(Properties.Resources.explicitLittleEndian);

            Assert.AreEqual(dcm.Elements.Count, 7);
        }