Skip to content

Commit 46405f4

Browse files
committed
-> #1409
1 parent 50d58bd commit 46405f4

File tree

1 file changed

+26
-19
lines changed

1 file changed

+26
-19
lines changed

idc_collections/collex_metadata_utils.py

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ def build_explorer_context(is_dicofdic, source, versions, filters, fields, order
286286
is_origin = DataSetType.IMAGE_DATA in source_data_types[source.id]
287287
# If a field list wasn't provided, work from a default set
288288
if is_origin and not counts_only and not len(fields):
289-
fields = ["SeriesInstanceUID", "StudyInstanceUID", "collection_id", "PatientID", "program_name"]
289+
fields = ["SeriesInstanceUID", "StudyInstanceUID", "collection_id", "PatientID", "program_name", "source_DOI"]
290290
logger.info("[STATUS] No field list provided, using default field list of: {}".format(fields))
291291
for dataset in data_sets:
292292
if dataset.data_type in source_data_types[source.id]:
@@ -314,8 +314,12 @@ def build_explorer_context(is_dicofdic, source, versions, filters, fields, order
314314
'missing': True,
315315
'facet': {'unique_count': 'unique(SeriesInstanceUID)'}}
316316

317-
if disk_size and len(filters.keys()) > 0:
318-
custom_facets['instance_size'] = 'sum(instance_size)'
317+
if len(filters.keys()) > 0:
318+
custom_facets['dois'] = {
319+
'type': "terms", "field": "source_DOI", "limit": -1, "missing": False
320+
}
321+
if disk_size:
322+
custom_facets['instance_size'] = 'sum(instance_size)'
319323

320324
if len(custom_facets.keys()) <= 0:
321325
custom_facets = None
@@ -332,7 +336,6 @@ def build_explorer_context(is_dicofdic, source, versions, filters, fields, order
332336
str((stop - start))
333337
))
334338
filtered_attr_by_source = copy.deepcopy(attr_by_source)
335-
336339
for which, _attr_by_source in {'filtered_facets': filtered_attr_by_source,
337340
'facets': attr_by_source}.items():
338341
facet_counts = source_metadata.get(which, {})
@@ -344,21 +347,23 @@ def build_explorer_context(is_dicofdic, source, versions, filters, fields, order
344347
for dataset in data_sets:
345348
if dataset.data_type in source_data_types[int(source.split(":")[-1])]:
346349
set_name = dataset.get_set_name()
347-
if (set_name == 'origin_set') and with_stats:
348-
context['stats'] = {}
349-
350-
if 'patient_per_collec' in facet_set:
351-
context['stats']['patient_per_collec'] = facet_set['patient_per_collec']
352-
else:
353-
context['stats']['patient_per_collec'] = 0
354-
if 'study_per_collec' in facet_set:
355-
context['stats']['study_per_collec'] = facet_set['study_per_collec']
356-
else:
357-
context['stats']['study_per_collec'] = 0
358-
if 'series_per_collec' in facet_set:
359-
context['stats']['series_per_collec'] = facet_set['series_per_collec']
360-
else:
361-
context['stats']['series_per_collec'] = 0
350+
if set_name == 'origin_set':
351+
if 'dois' in facet_set:
352+
context['dois'] = facet_set['dois']
353+
if with_stats:
354+
context['stats'] = {}
355+
if 'patient_per_collec' in facet_set:
356+
context['stats']['patient_per_collec'] = facet_set['patient_per_collec']
357+
else:
358+
context['stats']['patient_per_collec'] = 0
359+
if 'study_per_collec' in facet_set:
360+
context['stats']['study_per_collec'] = facet_set['study_per_collec']
361+
else:
362+
context['stats']['study_per_collec'] = 0
363+
if 'series_per_collec' in facet_set:
364+
context['stats']['series_per_collec'] = facet_set['series_per_collec']
365+
else:
366+
context['stats']['series_per_collec'] = 0
362367

363368
if dataset.data_type in data_types and set_name in attr_sets:
364369
attr_display_vals = Attribute_Display_Values.objects.filter(
@@ -572,6 +577,8 @@ def build_explorer_context(is_dicofdic, source, versions, filters, fields, order
572577
context['display_file_parts_count'] = attr_by_source['totals']['display_file_parts_count']
573578
if 'stats' in context:
574579
attr_by_source['stats'] = context['stats']
580+
if 'dois' in context:
581+
attr_by_source['dois'] = context['dois']
575582
return attr_by_source
576583

577584
return context

0 commit comments

Comments
 (0)