@@ -235,7 +235,7 @@ def sortNum(x):
235235
236236# Build data exploration context/response
237237def build_explorer_context (is_dicofdic , source , versions , filters , fields , order_docs , counts_only , with_related ,
238- with_derived , collapse_on , is_json , uniques = None , totals = None , disk_size = False ):
238+ with_derived , collapse_on , is_json , uniques = None , totals = None , with_stats = True , disk_size = True ):
239239 attr_by_source = {}
240240 attr_sets = {}
241241 context = {}
@@ -300,22 +300,18 @@ def build_explorer_context(is_dicofdic, source, versions, filters, fields, order
300300 attr_by_source [set_type ]['attributes' ].update (
301301 {attr .name : {'source' : source .id , 'obj' : attr , 'vals' : None , 'id' : attr .id } for attr in attrs }
302302 )
303- custom_facets = None
303+ custom_facets = {}
304+
305+ if with_stats :
306+ custom_facets ['patient_per_collec' ] = {'type' : 'terms' , 'field' : 'collection_id' , 'limit' : - 1 , 'missing' : True ,'facet' : {'unique_count' : 'unique(PatientID)' }}
307+ custom_facets ['study_per_collec' ] = {'type' : 'terms' , 'field' : 'collection_id' , 'limit' : - 1 , 'missing' : True ,'facet' : {'unique_count' : 'unique(StudyInstanceUID)' }}
308+ custom_facets ['series_per_collec' ]= {'type' : 'terms' , 'field' : 'collection_id' , 'limit' : - 1 , 'missing' : True ,'facet' : {'unique_count' : 'unique(SeriesInstanceUID)' }}
304309
305- disk_size = True
306310 if disk_size :
307- custom_facets = {
308- 'instance_size' : 'sum(instance_size)' ,
309- 'patient_per_collec' :{'type' : 'terms' , 'field' : 'collection_id' , 'limit' : - 1 , 'missing' : True ,'facet' : {'unique_count' : 'unique(PatientID)' }},
310- 'study_per_collec' : {'type' : 'terms' , 'field' : 'collection_id' , 'limit' : - 1 , 'missing' : True ,
311- 'facet' : {'unique_count' : 'unique(StudyInstanceUID)' }},
312- 'series_per_collec2' : {'type' : 'terms' , 'field' : 'collection_id' , 'limit' : - 1 , 'missing' : True ,
313- 'facet' : {'unique_count' : 'unique(SeriesInstanceUID)' }},
314- 'size_per_collec2' : {'type' : 'terms' , 'field' : 'collection_id' , 'limit' : 3000 , 'facet' : {'instance_size' : 'sum(instance_size)' }},
315- 'size_per_pat' : {'type' : 'terms' , 'field' : 'PatientID' , 'limit' : 3000 , 'facet' : {'instance_size' : 'sum(instance_size)' }}
311+ custom_facets ['instance_size' ] = 'sum(instance_size)'
316312
317-
318- }
313+ if ( len ( custom_facets . keys ()) == 0 ):
314+ custom_facets = None
319315
320316 start = time .time ()
321317 source_metadata = get_collex_metadata (
@@ -341,7 +337,7 @@ def build_explorer_context(is_dicofdic, source, versions, filters, fields, order
341337 for dataset in data_sets :
342338 if dataset .data_type in source_data_types [int (source .split (":" )[- 1 ])]:
343339 set_name = dataset .get_set_name ()
344- if (set_name == 'origin_set' ) and disk_size :
340+ if (set_name == 'origin_set' ) and with_stats :
345341 context ['stats' ]= {}
346342
347343 if 'patient_per_collec' in facet_set :
@@ -352,15 +348,10 @@ def build_explorer_context(is_dicofdic, source, versions, filters, fields, order
352348 context ['stats' ]['study_per_collec' ]= facet_set ['study_per_collec' ]
353349 else :
354350 context ['stats' ]['study_per_collec' ] = 0
355- if 'series_per_collec2 ' in facet_set :
356- context ['stats' ]['series_per_collec' ] = facet_set ['series_per_collec2 ' ]
351+ if 'series_per_collec ' in facet_set :
352+ context ['stats' ]['series_per_collec' ] = facet_set ['series_per_collec ' ]
357353 else :
358354 context ['stats' ]['series_per_collec' ] = 0
359- if 'size_per_collec2' in facet_set :
360- context ['stats' ]['size_per_collec' ] = facet_set ['size_per_collec2' ]
361- else :
362- context ['stats' ]['size_per_collec' ] = 0
363-
364355
365356
366357 if dataset .data_type in data_types and set_name in attr_sets :
0 commit comments