Exemplo n.º 1
0
        private IEnumerable <Series> GetSeries(SeriesEntry criteria)
        {
            try
            {
                string studyInstanceUid = null;
                if (criteria != null && criteria.Series != null)
                {
                    studyInstanceUid = criteria.Series.StudyInstanceUid;
                }

                //This will throw when Uid parameter is empty.
                IStudy study = GetStudy(studyInstanceUid);
                if (study == null)
                {
                    return(new List <Series>());
                }

                //TODO (Marmot): make extended data queryable, too.
                var dicomCriteria = criteria.Series.ToDicomAttributeCollection();
                var filters       = new SeriesPropertyFilters(dicomCriteria);
                var results       = filters.FilterResults(study.GetSeries().Cast <Series>());
                return(results);
            }
            catch (Exception e)
            {
                throw new Exception("An error occurred while performing the series query.", e);
            }
        }
Exemplo n.º 2
0
        private List <DicomAttributeCollection> SeriesQuery(DicomAttributeCollection queryCriteria)
        {
            var study = GetStudy(queryCriteria[DicomTags.StudyInstanceUid]);

            if (study == null)
            {
                return(new List <DicomAttributeCollection>());
            }

            try
            {
                var filters = new SeriesPropertyFilters(queryCriteria);
                var results = filters.FilterResults(study.GetSeries().Cast <Series>());
                return(filters.ConvertResultsToDataSets(results));
            }
            catch (Exception e)
            {
                throw new Exception("An error occurred while performing the series query.", e);
            }
        }