diff --git a/src/geomtools/__init__.py b/src/geomtools/__init__.py index 3f182b0f915e7592c2aae2a7cd01d68cf3fbd674..7dbf4299006baa3ccf2065d0257ab1ab2c2c93b6 100644 --- a/src/geomtools/__init__.py +++ b/src/geomtools/__init__.py @@ -1,6 +1,7 @@ from .detector import ( # noqa E401 - assemble_data, get_pixel_positions, pixels_to_image, plot_data_on_detector, - plot_detector_layout, read_crystfel_geom, write_crystfel_geom) + assemble_data, get_detector_shape, get_pixel_positions, pixels_to_image, + plot_data_on_detector, plot_detector_layout, read_crystfel_geom, + write_crystfel_geom) from .sfx import ( # noqa E401 avg_pixel_displacement, badpixels_mask, cell_volume, ellipse, extract_cell, extract_geometry, gauss2d_fit, get_min_bragg_dist, get_peak_position, diff --git a/src/geomtools/detector/crystfel_frm.py b/src/geomtools/detector/crystfel_frm.py index 0319151fa5eae26b3e90c3faf58c521679897bf2..008ea5fdcd5ea20945218408838f868cf20e2e67 100644 --- a/src/geomtools/detector/crystfel_frm.py +++ b/src/geomtools/detector/crystfel_frm.py @@ -6,7 +6,6 @@ from natsort import natsorted from .geom import get_detector_shape - HEADER_TEMPLATE = """\ ; {detector} geometry file written by geomtools ; You may need to edit this file to add: @@ -45,6 +44,7 @@ def write_crystfel_geom(file, panels, beam, rigid_groups, mask=None): """Writes geometry in CrystFEL format in file.""" # header clen = panels.clen[0] + res = panels.res[0] paths = {} paths['data'] = ( panels.data[0] if panels.data[0] @@ -65,7 +65,7 @@ def write_crystfel_geom(file, panels, beam, rigid_groups, mask=None): path_str = '\n'.join('{} = {} ;'.format(i, j) for i, j in paths.items()) header = HEADER_TEMPLATE.format( - detector="AGIPD1M", resolution=1/200e-6, frame_dim=0, + detector="AGIPD1M", resolution=res, frame_dim=0, clen=clen, photon_energy=beam["photon_energy"], adu_per_ev=1, paths=path_str, ) @@ -162,6 +162,7 @@ def read_crystfel_geom(filename, indexes=dict()): if mask_file: with h5py.File(mask_file, "r") as f: mask = f[mask_path][:] + mask = mask.astype(int) mask = ( (np.bitwise_and(mask, mask_goodbits) != mask_goodbits) | (np.bitwise_and(mask, mask_badbits) != 0)