diff --git a/DSSC.py b/DSSC.py index 13e90a5057c18931ed14d8ed8622d2888e1633b6..f3b19ff5b678c2dee6cfb275f6efe71ea4e60881 100644 --- a/DSSC.py +++ b/DSSC.py @@ -9,11 +9,12 @@ import warnings import karabo_data as kd from karabo_data.geometry2 import DSSC_1MGeometry import ToolBox as tb +import matplotlib.pyplot as plt import numpy as np import xarray as xr -import matplotlib.pyplot as plt import h5py +from imageio import imread class DSSC: @@ -214,6 +215,19 @@ class DSSC: path = '/gpfs/exfel/sw/software/exfel_environments/misc/git/karabo_data/docs/dssc_geo_june19.h5' geom = DSSC_1MGeometry.from_h5_file_and_quad_positions(path, quad_pos) return geom + + def load_mask(self, fname): + """ Load a DSSC mask file. + + input: + fname: string of the filename of the mask file + """ + + + dssc_mask = imread(fname) + dssc_mask = dssc_mask.astype(float)[..., 0] // 255 + dssc_mask[dssc_mask==0] = np.nan + self.mask = dssc_mask def create_virtual_dssc_datasets(self, run, path=''): """ Create virtual datasets for each 16 DSSC modules used for the multiprocessing. diff --git a/__init__.py b/__init__.py index 86c3187fc9afd7f5cf98e9257258062b8448db62..16e815eb016ca5afe85acfdc87d0c3c750c9eb50 100644 --- a/__init__.py +++ b/__init__.py @@ -4,4 +4,4 @@ from ToolBox.XAS import * from ToolBox.knife_edge import * from ToolBox.Laser_utils import * from ToolBox.DSSC import DSSC -from ToolBox.azimuthal_integrator import azimuthal_integrator +from ToolBox.azimuthal_integrator import * diff --git a/azimuthal_integrator.py b/azimuthal_integrator.py index da9a6ddcf19f88d0d695c8cdf7c4fd61032f7083..0b51176eecc9a0b632a46fabd6a140b52880663d 100644 --- a/azimuthal_integrator.py +++ b/azimuthal_integrator.py @@ -1,3 +1,4 @@ +import numpy as np class azimuthal_integrator(object): def __init__(self, imageshape, center, polar_range, dr=2):