예제 #1
0
    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);
    }
예제 #2
0
    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);
    }
예제 #3
0
    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);
    }
예제 #4
0
 string GetSeriesUid(gdcm.DataSet dataset)
 {
     gdcm.DataElement element = dataset.GetDataElement(Tags.SeriesInstanceUID);
     return(element.GetValue().toString());
 }
예제 #5
0
 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());
 }