Source code for pymchelper.writers.inspector

import logging

logger = logging.getLogger(__name__)


[docs]class Inspector: def __init__(self, filename, options): logger.debug("Initialising Inspector writer") self.options = options
[docs] def write(self, detector): """Print all keys and values from detector structure they include also a metadata read from binary output file """ for name, value in sorted(detector.__dict__.items()): # be careful not to check for np.array but for np.ndarray! if name not in {'data', 'data_raw', 'error', 'error_raw', 'counter'}: # skip non-metadata fields line = "{:24s}: '{:s}'".format(str(name), str(value)) print(line) # print some data-related statistics print(75 * "*") print("Data min: {:g}, max: {:g}".format(detector.data.min(), detector.data.max())) if self.options.details: # print data scatter-plot if possible if detector.dimension == 1: try: from hipsterplot import plot print(75 * "*") print("Data scatter plot") plot(detector.data_raw) except ImportError: logger.warning("Detailed summary requires installation of hipsterplot package") # print data histogram if possible try: from bashplotlib.histogram import plot_hist print(75 * "*") print("Data histogram") plot_hist(detector.data_raw, bincount=70, xlab=False, showSummary=True) except ImportError: logger.warning("Detailed summary requires installation of bashplotlib package")