Ejemplo n.º 1
0
 private static void FillInstsanceLevel(fo.DicomDataset instanceDs)
 {
     instanceDs.Add <object>(fo.DicomTag.SpecificCharacterSet, null);
     instanceDs.Add <object>(fo.DicomTag.SOPClassUID, null);
     instanceDs.Add <object>(fo.DicomTag.SOPInstanceUID, null);
     instanceDs.Add <object>(fo.DicomTag.InstanceNumber, null);
 }
Ejemplo n.º 2
0
 private static void FillSeriesLevel(fo.DicomDataset seriesDs)
 {
     seriesDs.Add <object>(fo.DicomTag.SpecificCharacterSet, null);
     seriesDs.Add <object>(fo.DicomTag.Modality, null);
     seriesDs.Add <object>(fo.DicomTag.TimezoneOffsetFromUTC, null);
     seriesDs.Add <object>(fo.DicomTag.SeriesDescription, null);
     seriesDs.Add <object>(fo.DicomTag.RetrieveURI, null);
     seriesDs.Add <object>(fo.DicomTag.SeriesInstanceUID, null);
     seriesDs.Add <object>(fo.DicomTag.SeriesNumber, null);
     seriesDs.Add <object>(fo.DicomTag.NumberOfSeriesRelatedInstances, null);
     seriesDs.Add <object>(fo.DicomTag.PerformedProcedureStepStartDate, null);
     seriesDs.Add <object>(fo.DicomTag.PerformedProcedureStepStartTime, null);
     //seriesDs.Add<object>(fo.DicomTag.RequestAttributesSequence,null) ; //Not supported yet
 }
 public void Transform(DicomDataset dataset, DicomDataset modifiedAttributesSequenceItem = null)
 {
     if (dataset.Contains(_src))
     {
         dataset.CopyTo(modifiedAttributesSequenceItem, _dst);
         dataset.Add(_dst, dataset.Get <IByteBuffer>(_src));
     }
 }
 public void Transform(DicomDataset dataset, DicomDataset modifiedAttributesSequenceItem = null)
 {
     if (dataset.Contains(_tag) && dataset.Get <string>(_tag, -1, String.Empty) == _match)
     {
         dataset.CopyTo(modifiedAttributesSequenceItem, _tag);
         dataset.Add(_tag, _value);
     }
 }
Ejemplo n.º 5
0
        public void Add_UniversalResourceElement_Succeeds()
        {
            var dataset = new DicomDataset();

            dataset.Add(DicomTag.URNCodeValue, "abc");
            Assert.IsType(typeof(DicomUniversalResource), dataset.First());
            Assert.Equal("abc", dataset.Get <string>(DicomTag.URNCodeValue));
        }
Ejemplo n.º 6
0
        public void Add_UnlimitedCharactersElementWithMultipleStrings_Succeeds()
        {
            var dataset = new DicomDataset();

            dataset.Add(DicomTag.LongCodeValue, "a", "b", "c");
            Assert.IsType(typeof(DicomUnlimitedCharacters), dataset.First());
            Assert.Equal("c", dataset.Get <string>(DicomTag.LongCodeValue, 2));
        }
Ejemplo n.º 7
0
        public void Add_OtherDoubleElementWithMultipleDoubles_Succeeds()
        {
            var dataset = new DicomDataset();

            dataset.Add(DicomTag.DoubleFloatPixelData, 3.45, 6.78, 9.01);
            Assert.IsType(typeof(DicomOtherDouble), dataset.First());
            Assert.Equal(3, dataset.Get <double[]>(DicomTag.DoubleFloatPixelData).Length);
        }
Ejemplo n.º 8
0
 /// <summary>
 /// Copies all items to the destination dataset.
 /// </summary>
 /// <param name="destination">Destination Dataset</param>
 /// <returns>Current Dataset</returns>
 public DicomDataset CopyTo(DicomDataset destination)
 {
     if (destination != null)
     {
         destination.Add(this);
     }
     return(this);
 }
Ejemplo n.º 9
0
        public void Add_OtherDoubleElement_Succeeds()
        {
            var tag     = DicomTag.DoubleFloatPixelData;
            var dataset = new DicomDataset();

            dataset.Add(tag, 3.45);
            Assert.IsType <DicomOtherDouble>(dataset.First(item => item.Tag.Equals(tag)));
        }
            public DatasetTestData(DicomTag tag, T[] values)
            {
                Dataset = new DicomDataset();
                Tag     = tag;
                Values  = values;

                Dataset.Add(tag, values);
            }
Ejemplo n.º 11
0
 /// <summary>
 /// Copies tags matching mask to the destination dataset.
 /// </summary>
 /// <param name="destination">Destination Dataset</param>
 /// <param name="mask">Tags to copy</param>
 /// <returns>Current Dataset</returns>
 public DicomDataset CopyTo(DicomDataset destination, DicomMaskedTag mask)
 {
     if (destination != null)
     {
         destination.Add(_items.Values.Where(x => mask.IsMatch(x.Tag)));
     }
     return(this);
 }
Ejemplo n.º 12
0
        public void DicomValidation_AddValidData()
        {
            var ds       = new DicomDataset();
            var validUid = "1.2.315.6666.0.8965.19187632.1";

            ds.Add(DicomTag.StudyInstanceUID, validUid);
            Assert.Equal(validUid, ds.GetSingleValue <string>(DicomTag.StudyInstanceUID));
        }
Ejemplo n.º 13
0
        public void Add_OtherDoubleElementWithMultipleDoubles_Succeeds()
        {
            var tag     = DicomTag.DoubleFloatPixelData;
            var dataset = new DicomDataset();

            dataset.Add(tag, 3.45, 6.78, 9.01);
            Assert.IsType <DicomOtherDouble>(dataset.First(item => item.Tag.Equals(tag)));
            Assert.Equal(3, dataset.GetValues <double>(tag).Length);
        }
Ejemplo n.º 14
0
        private fo.DicomDataset GetTemplateDataset( )
        {
            var ds = new fo.DicomDataset( );


            ds.Add(fo.DicomTag.PatientID, "test-pid");
            ds.Add(fo.DicomTag.PatientName, "test^patient name");
            ds.Add(fo.DicomTag.StudyInstanceUID, Study1UID);
            ds.Add(fo.DicomTag.StudyID, "test-studyid");
            ds.Add(fo.DicomTag.SeriesInstanceUID, Series1UID);
            ds.Add(fo.DicomTag.SeriesNumber, 1);
            ds.Add(fo.DicomTag.Modality, "XA");
            ds.Add(fo.DicomTag.SOPInstanceUID, Instance1UID);
            ds.Add(fo.DicomTag.SOPClassUID, "test.instance.class.uid");
            ds.Add(fo.DicomTag.InstanceNumber, 1);

            return(ds);
        }
Ejemplo n.º 15
0
 public void Transform(DicomDataset dataset, DicomDataset modifiedAttributesSequenceItem = null)
 {
     if (dataset.Contains(_tag))
     {
         dataset.CopyTo(modifiedAttributesSequenceItem, _tag);
         var value = dataset.Get <string>(_tag, -1, String.Empty);
         dataset.Add(_tag, value.ToLower());
     }
 }
Ejemplo n.º 16
0
        public void Add_UnlimitedCharactersElementWithMultipleStrings_Succeeds()
        {
            var tag     = DicomTag.LongCodeValue;
            var dataset = new DicomDataset();

            dataset.Add(tag, "a", "b", "c");
            Assert.IsType <DicomUnlimitedCharacters>(dataset.First(item => item.Tag.Equals(tag)));
            Assert.Equal("c", dataset.GetValue <string>(tag, 2));
        }
Ejemplo n.º 17
0
        public void Add_UniversalResourceElement_Succeeds()
        {
            var tag     = DicomTag.URNCodeValue;
            var dataset = new DicomDataset();

            dataset.Add(tag, "abc");
            Assert.IsType <DicomUniversalResource>(dataset.First(item => item.Tag.Equals(tag)));
            Assert.Equal("abc", dataset.GetSingleValue <string>(tag));
        }
Ejemplo n.º 18
0
        private static void FillInstsanceLevel(fo.DicomDataset instanceDs)
        {
            instanceDs.Add <object>(fo.DicomTag.SpecificCharacterSet, null);
            instanceDs.Add <object>(fo.DicomTag.SOPClassUID, null);
            instanceDs.Add <object>(fo.DicomTag.SOPInstanceUID, null);
            instanceDs.Add <object>(fo.DicomTag.InstanceNumber, null);

            instanceDs.Add <object>(fo.DicomTag.Rows, null);
            instanceDs.Add <object>(fo.DicomTag.Columns, null);
            instanceDs.Add <object>(fo.DicomTag.BitsAllocated, null);
            instanceDs.Add <object>(fo.DicomTag.NumberOfFrames, null);
        }
Ejemplo n.º 19
0
        public void ValidationAllowESCInSeriesDescriptionTag()
        {
            var ex = Record.Exception(() =>
            {
                var ds = new DicomDataset();
                ds.Add(new DicomLongString(DicomTag.SeriesDescription, "A ESC value: \u001b"));
            });

            Assert.Null(ex);
        }
Ejemplo n.º 20
0
 public void Transform(DicomDataset dataset, DicomDataset modifiedAttributesSequenceItem = null)
 {
     if (dataset.Contains(_tag))
     {
         dataset.CopyTo(modifiedAttributesSequenceItem, _tag);
         var value = dataset.Get <string>(_tag, -1, String.Empty);
         value = Regex.Replace(value, _pattern, _replacement);
         dataset.Add(_tag, value);
     }
 }
Ejemplo n.º 21
0
 /// <summary>
 /// Copies tags to the destination dataset.
 /// </summary>
 /// <param name="destination">Destination Dataset</param>
 /// <param name="tags">Tags to copy</param>
 /// <returns>Current Dataset</returns>
 public DicomDataset CopyTo(DicomDataset destination, params DicomTag[] tags)
 {
     if (destination != null)
     {
         foreach (var tag in tags)
         {
             destination.Add(Get <DicomItem>(tag));
         }
     }
     return(this);
 }
Ejemplo n.º 22
0
        public void Get_NonGenericIntArgumentEmptyElement_ShouldNotThrow()
        {
            var tag     = DicomTag.SelectorISValue;
            var dataset = new DicomDataset();

            dataset.Add(tag, new int[0]);

            var e = Record.Exception(() => Assert.Equal(10, dataset.Get(tag, 10)));

            Assert.Null(e);
        }
Ejemplo n.º 23
0
 public void Transform(DicomDataset dataset, DicomDataset modifiedAttributesSequenceItem = null)
 {
     if (dataset.Contains(_tag))
     {
         dataset.CopyTo(modifiedAttributesSequenceItem, _tag);
         var      value = dataset.Get <string>(_tag, -1, String.Empty);
         string[] parts = value.Split(_seperators);
         value = String.Format(_format, parts);
         dataset.Add(_tag, value);
     }
 }
Ejemplo n.º 24
0
        public void DicomValidation_ValidateCodeString()
        {
            var ds           = new DicomDataset();
            var validAETitle = "HUGO1";

            ds.Add(DicomTag.ReferencedFileID, validAETitle);

            Assert.Throws <DicomValidationException>(() => ds.AddOrUpdate(DicomTag.ReferencedFileID, "Hugo1"));
            Assert.Throws <DicomValidationException>(() => ds.AddOrUpdate(DicomTag.ReferencedFileID, "HUGO-1"));
            Assert.Throws <DicomValidationException>(() => ds.AddOrUpdate(DicomTag.ReferencedFileID, "HUGOHUGOHUGOHUGO1"));
        }
Ejemplo n.º 25
0
        public void Get_ArrayWhenTagExistsEmpty_ShouldReturnEmptyArray()
        {
            var tag = DicomTag.GridFrameOffsetVector;
            var ds  = new DicomDataset();

            ds.Add(tag, (string[])null);

            var array = ds.GetValues <string>(tag);

            Assert.Empty(array);
        }
Ejemplo n.º 26
0
        public void Get_IntOutsideRange_ShouldThrow()
        {
            var tag     = DicomTag.SelectorISValue;
            var dataset = new DicomDataset();

            dataset.Add(tag, 3, 4, 5);

            var e = Record.Exception(() => dataset.GetValue <int>(tag, 10));

            Assert.IsType <DicomDataException>(e);
        }
Ejemplo n.º 27
0
        public void Transform(DicomDataset dataset, DicomDataset modifiedAttributesSequenceItem = null)
        {
            IDbConnection connection = null;

            try {
                if (_dbType == DatabaseType.Odbc)
#if TOUCH
                { throw new NotSupportedException("ODBC data provider not supported on Monotouch platform."); }
#else
                { connection = new OdbcConnection(_connectionString); }
#endif
                else if (_dbType == DatabaseType.MsSql)
                {
                    connection = new SqlConnection(_connectionString);
                }

                using (IDbCommand command = connection.CreateCommand()) {
                    command.Connection  = connection;
                    command.CommandText = _query;

                    for (int i = 0; i < _params.Count; i++)
                    {
                        var          str = dataset.Get <string>(_params[i], -1, String.Empty);
                        SqlParameter prm = new SqlParameter(String.Format("@{0}", i), str);
                        command.Parameters.Add(prm);
                    }

                    connection.Open();

                    if (_output.Count == 0)
                    {
                        command.ExecuteNonQuery();
                    }
                    else
                    {
                        using (IDataReader reader = command.ExecuteReader()) {
                            if (reader.Read())
                            {
                                for (int i = 0; i < _output.Count; i++)
                                {
                                    dataset.CopyTo(modifiedAttributesSequenceItem, _output[i]);
                                    string str = reader.GetString(i);
                                    dataset.Add(_output[i], str);
                                }
                            }
                        }
                    }

                    connection.Close();

                    connection = null;
                }
            } finally {
Ejemplo n.º 28
0
        public void Add_LongTextElementWithEmptyValues_Succeeds()
        {
            var tag     = DicomTag.SelectorLTValue;
            var dataset = new DicomDataset();

            dataset.Add <string>(tag);
            Assert.IsType <DicomLongText>(dataset.First(item => item.Tag.Equals(tag)));

            var data = dataset.GetValues <string>(tag);

            Assert.Single(data, (item) => item == string.Empty);
        }
Ejemplo n.º 29
0
        public void Add_UniversalResourceElementWithEmptyValues_Succeeds()
        {
            var tag     = DicomTag.URNCodeValue;
            var dataset = new DicomDataset();

            dataset.Add <string>(tag);
            Assert.IsType <DicomUniversalResource>(dataset.First(item => item.Tag.Equals(tag)));

            var data = dataset.GetValues <string>(tag);

            Assert.Single(data, (item) => item == string.Empty);
        }
Ejemplo n.º 30
0
        public void Add_UnsignedShortElementWithEmptyValues_Succeeds()
        {
            var tag     = DicomTag.SamplesPerPixel;
            var dataset = new DicomDataset();

            dataset.Add <ushort>(tag);
            Assert.IsType <DicomUnsignedShort>(dataset.First(item => item.Tag.Equals(tag)));

            var data = dataset.GetValues <ushort>(tag);

            Assert.Empty(data);
        }