--- a
+++ b/generate_dsb_histogram.py
@@ -0,0 +1,46 @@
+import cPickle as pickle
+import string
+import sys
+import time
+from itertools import izip
+import numpy as np
+from datetime import datetime, timedelta
+import utils
+import logger
+import buffering
+from configuration import config, set_configuration
+import pathfinder
+import utils_plots
+import data_iterators
+import data_transforms
+
+import matplotlib
+matplotlib.use('Agg')
+import matplotlib.pyplot as plt
+
+
+predictions_dir = utils.get_dir_path('analysis', pathfinder.METADATA_PATH)
+outputs_path = predictions_dir + 'dsb_scan_histograms'
+utils.auto_make_dir(outputs_path)
+
+train_valid_ids = utils.load_pkl(pathfinder.VALIDATION_SPLIT_PATH)
+train_pids, valid_pids, test_pids = train_valid_ids['training'], train_valid_ids['validation'], train_valid_ids['test']
+print 'n train', len(train_pids)
+print 'n valid', len(valid_pids)
+print 'n test', len(test_pids)
+
+all_pids = train_pids + valid_pids + test_pids
+
+data_iterator = data_iterators.DSBDataGenerator(data_path=pathfinder.DATA_PATH, patient_pids=all_pids)
+
+histograms = {}
+bins = np.arange(-960,1700,40)
+# avg_histogram = np.zeros((bins.shape[0]-1), dtype=np.int64)
+# use buffering.buffered_gen_threaded()
+for idx, (x, pid) in enumerate(data_iterator.generate()):
+    print idx, 'pid', pid
+    histograms[pid]= data_transforms.get_rescale_params_hist_eq(x)
+
+
+
+pickle.dump(histograms, open( "dsb_rescale_params_hist_eq.pkl", "wb" ) )