Contains() публичный Метод

public Contains ( Dicom.Data.DicomTag tag ) : bool
tag Dicom.Data.DicomTag
Результат bool
Пример #1
0
 public bool Match(DcmDataset dataset)
 {
     if (dataset.Contains(_tag)) {
         string value = dataset.GetValueString(_tag);
         return value.Contains(_value);
     }
     return false;
 }
Пример #2
0
		public void Transform(DcmDataset dataset) {
			if (dataset.Contains(_tag)) {
				string value = dataset.GetValueString(_tag);
				string[] parts = value.Split('\\');
				for (int i = 0; i < parts.Length; i++) {
					if (parts[i].Length > _length)
						parts[i] = parts[i].Substring(0, _length);
				}
				value = String.Join("\\", parts);
				dataset.AddElementWithValueString(_tag, value);
			}
		}
Пример #3
0
		public void Transform(DcmDataset dataset) {
			if (dataset.Contains(_tag)) {
				string value = dataset.GetValueString(_tag);
				if (_totalLength < 0)
					value = value.PadLeft(-_totalLength, _paddingChar);
				else
					value = value.PadRight(_totalLength, _paddingChar);
				dataset.AddElementWithValueString(_tag, value);
			}
		}
Пример #4
0
		public void Transform(DcmDataset dataset) {
			if (dataset.Contains(_tag)) {
				string value = dataset.GetValueString(_tag);
				if (_position == DicomTrimPosition.Both) {
					if (_trim != null)
						value = value.Trim(_trim);
					else
						value = value.Trim();
				}
				else if (_position == DicomTrimPosition.Start) {
					if (_trim != null)
						value = value.TrimStart(_trim);
					else
						value = value.TrimStart();
				}
				else {
					if (_trim != null)
						value = value.TrimEnd(_trim);
					else
						value = value.TrimEnd();
				}
				dataset.AddElementWithValueString(_tag, value);
			}
		}
Пример #5
0
		public void Transform(DcmDataset dataset) {
			if (dataset.Contains(_tag)) {
				string value = dataset.GetValueString(_tag);
				if (_position == DicomTrimPosition.Start || _position == DicomTrimPosition.Both)
					while (value.StartsWith(_trim))
						value = value.Substring(_trim.Length);
				if (_position == DicomTrimPosition.End || _position == DicomTrimPosition.Both)
					while (value.EndsWith(_trim))
						value = value.Substring(0, value.Length - _trim.Length);
				dataset.AddElementWithValueString(_tag, value);
			}
		}
Пример #6
0
		public void Transform(DcmDataset dataset) {
			if (dataset.Contains(_tag)) {
				string value = dataset.GetValueString(_tag);
				dataset.AddElementWithValueString(_tag, _prefix + value);
			}
		}
Пример #7
0
		public void Transform(DcmDataset dataset) {
			if (dataset.Contains(_tag)) {
				string value = dataset.GetValueString(_tag);
				value = Regex.Replace(value, _pattern, _replacement);
				dataset.AddElementWithValueString(_tag, value);
			}
		}
Пример #8
0
		public DcmPixelData(DcmDataset dataset) {
			_transferSyntax = dataset.InternalTransferSyntax;
			_lossy = dataset.GetString(DicomTags.LossyImageCompression, "00") != "00";
			_lossyMethod = dataset.GetString(DicomTags.LossyImageCompressionMethod, String.Empty);
			_lossyRatio = dataset.GetString(DicomTags.LossyImageCompressionRatio, String.Empty);
			_frames = dataset.GetInt32(DicomTags.NumberOfFrames, 1);
			_width = dataset.GetUInt16(DicomTags.Columns, 0);
			_height = dataset.GetUInt16(DicomTags.Rows, 0);
			_bitsStored = dataset.GetUInt16(DicomTags.BitsStored, 0);
			_bitsAllocated = dataset.GetUInt16(DicomTags.BitsAllocated, 0);
			_highBit = dataset.GetUInt16(DicomTags.HighBit, (ushort)(_bitsStored - 1));
			_samplesPerPixel = dataset.GetUInt16(DicomTags.SamplesPerPixel, 0);
			_pixelRepresentation = dataset.GetUInt16(DicomTags.PixelRepresentation, 0);
			_planarConfiguration = dataset.GetUInt16(DicomTags.PlanarConfiguration, 0);
			_photometricInterpretation = dataset.GetString(DicomTags.PhotometricInterpretation, String.Empty);
			_rescaleSlope = dataset.GetDouble(DicomTags.RescaleSlope, 1.0);
			_rescaleIntercept = dataset.GetDouble(DicomTags.RescaleIntercept, 0.0);
			_pixelDataItem = dataset.GetItem(DicomTags.PixelData);

			_hasPixelPadding = dataset.Contains(DicomTags.PixelPaddingValue);
			if (_hasPixelPadding) {
				DcmElement elem = dataset.GetElement(DicomTags.PixelPaddingValue);
				if (elem is DcmUnsignedShort)
					_pixelPaddingValue = (elem as DcmUnsignedShort).GetValue();
				else if (elem is DcmSignedShort) {
					_pixelPaddingValue = (elem as DcmSignedShort).GetValue();
				} else
					_pixelPaddingValue = MinimumDataValue;
			}
		}
Пример #9
0
		public void Transform(DcmDataset dataset) {
			if (dataset.Contains(_tag) && dataset.GetValueString(_tag) == _match)
				dataset.AddElementWithValueString(_tag, _value);
		}
Пример #10
0
 public bool Match(DcmDataset dataset)
 {
     if (dataset.Contains(_tag)) {
         string value = dataset.GetValueString(_tag);
         foreach (string v in _values)
             if (v == value)
                 return true;
     }
     return false;
 }
Пример #11
0
 public bool Match(DcmDataset dataset)
 {
     if (dataset.Contains(_tag)) {
         string value = dataset.GetValueString(_tag);
         return Wildcard.Match(_pattern, value);
     }
     return false;
 }
Пример #12
0
 public bool Match(DcmDataset dataset)
 {
     return dataset.Contains(_tag);
 }
Пример #13
0
 public bool Match(DcmDataset dataset)
 {
     if (dataset.Contains(_tag)) {
         string value = dataset.GetValueString(_tag).Trim();
         return String.IsNullOrEmpty(value);
     }
     return true;
 }
Пример #14
0
		private void Load(DcmDataset ds) {
			_rows = ds.GetUInt16(OverlayTag(DicomTags.OverlayRows), 0);
			_columns = ds.GetUInt16(OverlayTag(DicomTags.OverlayColumns), 0);
			_type = ds.GetString(OverlayTag(DicomTags.OverlayType), "Unknown");

			DicomTag tag = OverlayTag(DicomTags.OverlayOrigin);
			if (ds.Contains(tag)) {
				short[] xy = ds.GetSS(tag).GetValues();
				if (xy != null && xy.Length == 2) {
					_originX = xy[0];
					_originY = xy[1];
				}
			}

			_bitsAllocated = ds.GetUInt16(OverlayTag(DicomTags.OverlayBitsAllocated), 1);
			_bitPosition = ds.GetUInt16(OverlayTag(DicomTags.OverlayBitPosition), 0);

			tag = OverlayTag(DicomTags.OverlayData);
			if (ds.Contains(tag)) {
				DcmElement elem = ds.GetElement(tag);
				_data = elem.ByteBuffer.ToBytes();
			}

			_description = ds.GetString(OverlayTag(DicomTags.OverlayDescription), String.Empty);
			_subtype = ds.GetString(OverlayTag(DicomTags.OverlaySubtype), String.Empty);
			_label = ds.GetString(OverlayTag(DicomTags.OverlayLabel), String.Empty);

			_frames = ds.GetInt32(OverlayTag(DicomTags.NumberOfFramesInOverlay), 1);
			_frameOrigin = ds.GetUInt16(OverlayTag(DicomTags.ImageFrameOrigin), 1);

			//TODO: include ROI
		}
Пример #15
0
		public void Transform(DcmDataset dataset) {
			if (dataset.Contains(_tag)) {
				string value = dataset.GetValueString(_tag);
				string[] parts = value.Split(_seperators);
				value = String.Format(_format, parts);
				dataset.AddElementWithValueString(_tag, value);
			}
		}
Пример #16
0
		public void Transform(DcmDataset dataset) {
			if (dataset.Contains(_src))
				dataset.AddElementWithValueString(_dst, dataset.GetValueString(_src));
		}
Пример #17
0
		public void Transform(DcmDataset dataset) {
			if (dataset.Contains(_tag)) {
				string value = dataset.GetValueString(_tag);
				dataset.AddElementWithValueString(_tag, value.ToLower());
			}
		}
Пример #18
0
        public static WindowLevel[] FromDataset(DcmDataset dataset)
        {
            List<WindowLevel> settings = new List<WindowLevel>();

            if (dataset.Contains(DicomTags.WindowCenter) && dataset.Contains(DicomTags.WindowWidth)) {
                string[] wc = dataset.GetDS(DicomTags.WindowCenter).GetValues();
                string[] ww = dataset.GetDS(DicomTags.WindowWidth).GetValues();

                if (wc.Length != ww.Length)
                    throw new DicomImagingException("Window Center count does not match Window Width count");

                string[] desc = null;
                if (dataset.Contains(DicomTags.WindowCenterWidthExplanation)) {
                    desc = dataset.GetLO(DicomTags.WindowCenterWidthExplanation).GetValues();
                }

                for (int i = 0; i < wc.Length; i++) {
                    double window;
                    double level;
                    if (!Double.TryParse(ww[i], out window) &&
                        !Double.TryParse(ww[i], System.Globalization.NumberStyles.Float,
                                         System.Globalization.CultureInfo.InvariantCulture, out window))
                        throw new DicomImagingException("Unable to parse Window/Level [ww: {0}]", ww[i]);

                    if (!Double.TryParse(wc[i], out level) &&
                        !Double.TryParse(wc[i], System.Globalization.NumberStyles.Float,
                                         System.Globalization.CultureInfo.InvariantCulture, out level))
                        throw new DicomImagingException("Unable to parse Window/Level [wc: {0}]", wc[i]);

                    string description = String.Empty;
                    if (desc != null && i < desc.Length)
                        description = desc[i];

                    settings.Add(new WindowLevel(description, window, level));
                }
            }

            return settings.ToArray();
        }