float[] GetDirectionCosines(gdcm.DataSet dataset) { string valueAsString = dataset.GetDataElement(Tags.DirectionCosines).GetByteValue().toString(); var partsAsString = valueAsString.Split('\\'); var partsAsFloat = partsAsString.Select(part => float.Parse(part)).ToArray(); return(partsAsFloat); }
float[] GetImagePosition(gdcm.DataSet dataset) { gdcm.DataElement element = dataset.GetDataElement(Tags.ImagePosition); string valueAsString = element.GetByteValue().toString(); var partsAsString = valueAsString.Split('\\'); var partsAsFloat = partsAsString.Select(part => float.Parse(part, System.Globalization.CultureInfo.InvariantCulture)).ToArray(); return(partsAsFloat); }
public static int Main(string[] args) { string filename = args[0]; gdcm.Reader reader = new gdcm.Reader(); reader.SetFileName(filename); if (!reader.Read()) { return(1); } gdcm.File f = reader.GetFile(); gdcm.DataSet ds = f.GetDataSet(); string[] expectedSiemensTags = new string[] { "B_value", "AcquisitionMatrixText" }; using (PrivateTag gtag = CSAHeader.GetCSAImageHeaderInfoTag()) { if (ds.FindDataElement(gtag)) { using (DataElement de = ds.GetDataElement(gtag)) { if (de != null && !de.IsEmpty()) { using (CSAHeader csa = new CSAHeader()) { if (csa.LoadFromDataElement(de)) { foreach (string str in expectedSiemensTags) { if (csa.FindCSAElementByName(str)) { using (CSAElement elem = csa.GetCSAElementByName(str)) { if (elem != null) { System.Console.WriteLine(elem.toString()); } } } } } } } } } } return(0); }
string GetSeriesUid(gdcm.DataSet dataset) { gdcm.DataElement element = dataset.GetDataElement(Tags.SeriesInstanceUID); return(element.GetValue().toString()); }
string GetPatientName(gdcm.DataSet dataset) { //Os mecanismos de gdcm::Attribute tb estão quebrados. gdcm.DataElement element = dataset.GetDataElement(Tags.PatientName); return(element.GetValue().toString()); }