当前位置: 首页>>代码示例>>C#>>正文


C# DcmDataset.GetElement方法代码示例

本文整理汇总了C#中Dicom.Data.DcmDataset.GetElement方法的典型用法代码示例。如果您正苦于以下问题:C# DcmDataset.GetElement方法的具体用法?C# DcmDataset.GetElement怎么用?C# DcmDataset.GetElement使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Dicom.Data.DcmDataset的用法示例。

在下文中一共展示了DcmDataset.GetElement方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: FilterByModality

        private static Expression<Func<Study, bool>> FilterByModality(DcmDataset query)
        {
            Expression<Func<Study, bool>> allMatch = p => true;

            var studyQuery = query.GetElement(DicomTags.ModalitiesInStudy);

            if (studyQuery == null)
                return allMatch;

            var valueString = studyQuery.GetValueString();

            if (String.IsNullOrWhiteSpace(valueString))
                return allMatch;

            var modalities = valueString.Replace(@"\\", @"\").Split('\\');

            if (modalities.Length == 1)
            {
                return s => s.ModalityAggregation.Contains(modalities[0]);
            }
            else
            {
                return s => s.Series.Any( series => modalities.Contains(series.PerformedModalityType));
            }
        }
开发者ID:curasystems,项目名称:dicomserver,代码行数:25,代码来源:StudyQueries.cs


示例2: FilterByPatientsName

        private static Expression<Func<Patient, bool>> FilterByPatientsName(DcmDataset query)
        {
            Expression<Func<Patient, bool>> allMatch = p => true;

            var patientNameQuery = query.GetElement(DicomTags.PatientsName);

            if (patientNameQuery == null)
                return allMatch;

            var patientNameDicomFormatted = patientNameQuery.GetValueString();

            if (String.IsNullOrWhiteSpace(patientNameDicomFormatted))
                return allMatch;

            string[] lName;

            if (patientNameDicomFormatted.Contains("[^]"))
                lName = patientNameDicomFormatted.Split(new[] { "[^]" }, StringSplitOptions.None);
            else if (patientNameDicomFormatted.Contains("^"))
                lName = patientNameDicomFormatted.Split(new[] { "^" }, StringSplitOptions.None);
            else
                lName = patientNameDicomFormatted.Split(new[] { Properties.Settings.Default.PatientNameSplitCharacterForFind });

            var firstName = "";
            var lastName = "";

            if (lName.Length == 0)
                return allMatch;

            if (lName.Length >= 2)
            {
                firstName = lName[1];
                firstName = firstName.TrimEnd('*').Trim();
                firstName = firstName.Replace('*', '%');
            }

            if (lName.Length >= 1)
            {
                lastName = lName[0];
                lastName = lastName.TrimEnd('*').Trim();
                lastName = lastName.Replace('*', '%');
            }

            if (!firstName.StartsWith("\""))
                firstName += "%";
            if (!lastName.StartsWith("\""))
                lastName += "%";

            return p => SqlMethods.Like(p.FirstName, firstName) && SqlMethods.Like(p.LastName, lastName);
        }
开发者ID:curasystems,项目名称:dicomserver,代码行数:50,代码来源:PatientQueries.cs


示例3: FilterBySeriesDate

        private static Expression<Func<Series, bool>> FilterBySeriesDate(DcmDataset query)
        {
            Expression<Func<Series, bool>> allMatch = p => true;

            var studyQuery = query.GetElement(DicomTags.SeriesDate);

            if (studyQuery == null)
                return allMatch;

            var valueString = studyQuery.GetValueString();

            if (String.IsNullOrWhiteSpace(valueString))
                return allMatch;

            var dateTimeRange = DateTimeRangeQuery.Parse(valueString);

            return s => s.PerformedDateTime >= dateTimeRange.From && s.PerformedDateTime <= dateTimeRange.To;
        }
开发者ID:curasystems,项目名称:dicomserver,代码行数:18,代码来源:SeriesQueries.cs


示例4: FilterByPatientsBirthDate

        private static Expression<Func<Patient, bool>> FilterByPatientsBirthDate(DcmDataset query)
        {
            Expression<Func<Patient, bool>> allMatch = p => true;

            var patientQuery = query.GetElement(DicomTags.PatientsBirthDate);

            if (patientQuery == null)
                return allMatch;

            var valueString = patientQuery.GetValueString();

            if (String.IsNullOrWhiteSpace(valueString))
                return allMatch;

            var dateTimeRange = DateTimeRangeQuery.Parse(valueString);

            return p => p.BirthDateTime >= dateTimeRange.From && p.BirthDateTime <= dateTimeRange.To;
        }
开发者ID:curasystems,项目名称:dicomserver,代码行数:18,代码来源:PatientQueries.cs


示例5: FilterByAccessionNumber

        private static Expression<Func<Study, bool>> FilterByAccessionNumber(DcmDataset query)
        {
            Expression<Func<Study, bool>> allMatch = p => true;

            var studyQuery = query.GetElement(DicomTags.AccessionNumber);

            if (studyQuery == null)
                return allMatch;

            var valueString = studyQuery.GetValueString();

            if (String.IsNullOrWhiteSpace(valueString))
                return allMatch;

            if (valueString.EndsWith("*"))
                return s => s.AccessionNumber.StartsWith(valueString.Trim('*'));
            else
                return s => s.AccessionNumber == valueString;
        }
开发者ID:curasystems,项目名称:dicomserver,代码行数:19,代码来源:StudyQueries.cs


示例6: FilterByPatientsId

        private static Expression<Func<Patient, bool>> FilterByPatientsId(DcmDataset query)
        {
            Expression<Func<Patient, bool>> allMatch = p => true;

            var patientQuery = query.GetElement(DicomTags.PatientID);

            if (patientQuery == null)
                return allMatch;

            var valueString = patientQuery.GetValueString();

            if (String.IsNullOrWhiteSpace(valueString))
                return allMatch;

            if (valueString.EndsWith("*"))
                return p => p.ExternalPatientID.StartsWith(valueString.Trim('*'));
            else
                return p => p.ExternalPatientID == valueString;
        }
开发者ID:curasystems,项目名称:dicomserver,代码行数:19,代码来源:PatientQueries.cs


示例7: FilterByStudyUid

        private static Expression<Func<Series, bool>> FilterByStudyUid(DcmDataset query)
        {
            Expression<Func<Series, bool>> allMatch = p => true;

            var seriesQuery = query.GetElement(DicomTags.StudyInstanceUID);

            if (seriesQuery == null)
                return allMatch;

            var valueString = seriesQuery.GetValueString();

            if (String.IsNullOrWhiteSpace(valueString))
                return allMatch;

            if (valueString.EndsWith("*"))
            {
                return s => s.StudyInstanceUid.StartsWith(valueString.Trim('*'));
            }
            else
            {
                return s => s.StudyInstanceUid == valueString;
            }
        }
开发者ID:curasystems,项目名称:dicomserver,代码行数:23,代码来源:SeriesQueries.cs


示例8: Load

		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
		}
开发者ID:hide1980,项目名称:mdcm,代码行数:32,代码来源:DcmOverlayData.cs


示例9: DcmPixelData

		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;
			}
		}
开发者ID:mcmssupereditor,项目名称:mdcm,代码行数:30,代码来源:DcmPixelData.cs


示例10: QueryHasPatientSpecificFilters

 private static bool QueryHasPatientSpecificFilters(DcmDataset query)
 {
     return query.Elements.Any(e => e.Tag.Group == 0x0010 && !String.IsNullOrWhiteSpace(query.GetElement(e.Tag).GetValueString()) );
 }
开发者ID:curasystems,项目名称:dicomserver,代码行数:4,代码来源:CImageServer.cs


示例11: GetFilePaths

        private static IEnumerable<string> GetFilePaths(MedicalISDataContext database, DcmDataset query)
        {
            if ( ! String.IsNullOrWhiteSpace(query.GetString(DicomTags.SeriesInstanceUID, "")) )
            {
                string seriesInstanceUid = query.GetString(DicomTags.SeriesInstanceUID,"");

                var imagePaths = from i in database.Images
                                 where i.SeriesInstanceUid == seriesInstanceUid
                                 select Path.Combine(Settings.Default.RootPath, i.ArchivedStorageLocation);

                return imagePaths;
            }
            else if ( !String.IsNullOrWhiteSpace(query.GetString(DicomTags.StudyInstanceUID, "")))
            {
                string studyInstanceUid = query.GetElement(DicomTags.StudyInstanceUID).GetValueString();

                var imagePaths = from i in database.Images
                                 where i.Series.Study.StudyInstanceUid == studyInstanceUid
                                 select Path.Combine(Settings.Default.RootPath, i.ArchivedStorageLocation);

                return imagePaths;
            }
            else
            {
                return new string[]{};
            }
        }
开发者ID:curasystems,项目名称:dicomserver,代码行数:27,代码来源:CImageServer.cs



注:本文中的Dicom.Data.DcmDataset.GetElement方法示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。