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); }
public void ReadMetaXLittleEndian() { var dcm = DICOMFileReader.ReadFileMetadata(Properties.Resources.explicitLittleEndian); Assert.AreEqual(dcm.Elements.Count, 7); }