From bf2a6cf4d59192419fbfa67aa5ad012b2901ff24 Mon Sep 17 00:00:00 2001 From: Richard Gildea Date: Fri, 23 Aug 2019 17:28:00 +0100 Subject: [PATCH] Remove superfluous FormatClass.get_mask() calls --- format/FormatCBFFullPilatus.py | 27 ---------------------- format/FormatCBFFullPilatusDLS300KSN104.py | 13 ----------- format/FormatCBFFullPilatusDLS6MSN100.py | 13 ----------- format/FormatCBFFullPilatusDLS6MSN126.py | 17 -------------- format/FormatCBFMiniEiger.py | 27 ---------------------- format/FormatCBFMiniEigerDLS16MSN160.py | 13 ----------- format/FormatCBFMiniPilatus.py | 26 --------------------- format/FormatCBFMiniPilatusDLS12M.py | 18 --------------- format/FormatCBFMiniPilatusDLS6MSN100.py | 13 ----------- format/FormatMultiImage.py | 3 --- format/FormatNexusEigerDLS16M.py | 23 ------------------ 11 files changed, 193 deletions(-) diff --git a/format/FormatCBFFullPilatus.py b/format/FormatCBFFullPilatus.py index ec3f9ba0e..4e1bdb4c1 100644 --- a/format/FormatCBFFullPilatus.py +++ b/format/FormatCBFFullPilatus.py @@ -149,33 +149,6 @@ def get_raw_data(self): return self._raw_data - def get_mask(self, goniometer=None): - from scitbx.array_family import flex - - detector = self.get_detector() - mask = [ - flex.bool(flex.grid(reversed(p.get_image_size())), True) for p in detector - ] - for i, p in enumerate(detector): - untrusted_regions = p.get_mask() - for j, (f0, s0, f1, s1) in enumerate(untrusted_regions): - sub_array = flex.bool(flex.grid(s1 - s0, f1 - f0), False) - mask[i].matrix_paste_block_in_place(sub_array, s0, f0) - - if len(detector) == 1: - raw_data = [self.get_raw_data()] - else: - raw_data = self.get_raw_data() - assert len(raw_data) == len(detector) - trusted_mask = [ - p.get_trusted_range_mask(im) for im, p in zip(raw_data, detector) - ] - - # returns merged untrusted pixels and active areas using bitwise AND - # (pixels are accepted if they are inside of the active areas AND inside - # of the trusted range) - return tuple(m & tm for m, tm in zip(mask, trusted_mask)) - def get_vendortype(self): from dxtbx.format.FormatPilatusHelpers import get_vendortype as gv diff --git a/format/FormatCBFFullPilatusDLS300KSN104.py b/format/FormatCBFFullPilatusDLS300KSN104.py index 853170a67..e68887fd3 100644 --- a/format/FormatCBFFullPilatusDLS300KSN104.py +++ b/format/FormatCBFFullPilatusDLS300KSN104.py @@ -55,19 +55,6 @@ def __init__(self, image_file, **kwargs): self._dynamic_shadowing = self.has_dynamic_shadowing(**kwargs) FormatCBFFullPilatus.__init__(self, image_file, **kwargs) - def get_mask(self, goniometer=None): - mask = super(FormatCBFFullPilatusDLS300KSN104, self).get_mask() - if self._dynamic_shadowing: - gonio_masker = self.get_goniometer_shadow_masker(goniometer=goniometer) - scan = self.get_scan() - detector = self.get_detector() - shadow_mask = gonio_masker.get_mask(detector, scan.get_oscillation()[0]) - assert len(mask) == len(shadow_mask) - for m, sm in zip(mask, shadow_mask): - if sm is not None: - m &= ~sm - return mask - def get_goniometer_shadow_masker(self, goniometer=None): if goniometer is None: goniometer = self.get_goniometer() diff --git a/format/FormatCBFFullPilatusDLS6MSN100.py b/format/FormatCBFFullPilatusDLS6MSN100.py index 66246122e..0e208f461 100644 --- a/format/FormatCBFFullPilatusDLS6MSN100.py +++ b/format/FormatCBFFullPilatusDLS6MSN100.py @@ -51,19 +51,6 @@ def __init__(self, image_file, **kwargs): self._dynamic_shadowing = self.has_dynamic_shadowing(**kwargs) FormatCBFFullPilatus.__init__(self, image_file, **kwargs) - def get_mask(self, goniometer=None): - mask = super(FormatCBFFullPilatusDLS6MSN100, self).get_mask() - if self._dynamic_shadowing: - gonio_masker = self.get_goniometer_shadow_masker(goniometer=goniometer) - scan = self.get_scan() - detector = self.get_detector() - shadow_mask = gonio_masker.get_mask(detector, scan.get_oscillation()[0]) - assert len(mask) == len(shadow_mask) - for m, sm in zip(mask, shadow_mask): - if sm is not None: - m &= sm - return mask - def get_goniometer_shadow_masker(self, goniometer=None): if goniometer is None: goniometer = self.get_goniometer() diff --git a/format/FormatCBFFullPilatusDLS6MSN126.py b/format/FormatCBFFullPilatusDLS6MSN126.py index e630b486e..415dfe5f8 100644 --- a/format/FormatCBFFullPilatusDLS6MSN126.py +++ b/format/FormatCBFFullPilatusDLS6MSN126.py @@ -56,23 +56,6 @@ def __init__(self, image_file, **kwargs): self._dynamic_shadowing = self.has_dynamic_shadowing(**kwargs) FormatCBFFullPilatus.__init__(self, image_file, **kwargs) - def get_mask(self, goniometer=None): - mask = super(FormatCBFFullPilatusDLS6MSN126, self).get_mask() - - # when device was installed with SmarGon on I03 this was the signature - # now it lives on i02-1 => detect - at the moment device has single - # axis in new home - if len(self.get_goniometer().get_names()) == 3 and self._dynamic_shadowing: - gonio_masker = self.get_goniometer_shadow_masker(goniometer=goniometer) - scan = self.get_scan() - detector = self.get_detector() - shadow_mask = gonio_masker.get_mask(detector, scan.get_oscillation()[0]) - assert len(mask) == len(shadow_mask) - for m, sm in zip(mask, shadow_mask): - if sm is not None: - m &= sm - return mask - def get_goniometer_shadow_masker(self, goniometer=None): if goniometer is None: goniometer = self.get_goniometer() diff --git a/format/FormatCBFMiniEiger.py b/format/FormatCBFMiniEiger.py index ebe1b3729..c0024401f 100644 --- a/format/FormatCBFMiniEiger.py +++ b/format/FormatCBFMiniEiger.py @@ -201,33 +201,6 @@ def get_raw_data(self): return self._raw_data - def get_mask(self, goniometer=None): - from scitbx.array_family import flex - - detector = self.get_detector() - mask = [ - flex.bool(flex.grid(reversed(p.get_image_size())), True) for p in detector - ] - for i, p in enumerate(detector): - untrusted_regions = p.get_mask() - for j, (f0, s0, f1, s1) in enumerate(untrusted_regions): - sub_array = flex.bool(flex.grid(s1 - s0, f1 - f0), False) - mask[i].matrix_paste_block_in_place(sub_array, s0, f0) - - if len(detector) == 1: - raw_data = [self.get_raw_data()] - else: - raw_data = self.get_raw_data() - assert len(raw_data) == len(detector) - trusted_mask = [ - p.get_trusted_range_mask(im) for im, p in zip(raw_data, detector) - ] - - # returns merged untrusted pixels and active areas using bitwise AND - # (pixels are accepted if they are inside of the active areas AND - # inside of the trusted range) - return tuple([m & tm for m, tm in zip(mask, trusted_mask)]) - def detectorbase_start(self): from iotbx.detectors.eiger_minicbf import EigerCBFImage diff --git a/format/FormatCBFMiniEigerDLS16MSN160.py b/format/FormatCBFMiniEigerDLS16MSN160.py index bdf355f96..52b34d059 100644 --- a/format/FormatCBFMiniEigerDLS16MSN160.py +++ b/format/FormatCBFMiniEigerDLS16MSN160.py @@ -90,19 +90,6 @@ def _goniometer(self): axes, angles, names, scan_axis=2 ) - def get_mask(self, goniometer=None): - mask = super(FormatCBFMiniEigerDLS16MSN160, self).get_mask() - if self._dynamic_shadowing: - gonio_masker = self.get_goniometer_shadow_masker(goniometer=goniometer) - scan = self.get_scan() - detector = self.get_detector() - shadow_mask = gonio_masker.get_mask(detector, scan.get_oscillation()[0]) - assert len(mask) == len(shadow_mask) - for m, sm in zip(mask, shadow_mask): - if sm is not None: - m &= sm - return mask - def get_goniometer_shadow_masker(self, goniometer=None): if goniometer is None: goniometer = self.get_goniometer() diff --git a/format/FormatCBFMiniPilatus.py b/format/FormatCBFMiniPilatus.py index 9b47ca115..b1ab48617 100644 --- a/format/FormatCBFMiniPilatus.py +++ b/format/FormatCBFMiniPilatus.py @@ -93,32 +93,6 @@ def _scan(self): self._image_file, format, exposure_time, osc_start, osc_range, timestamp ) - def get_mask(self, goniometer=None): - from scitbx.array_family import flex - - detector = self.get_detector() - mask = [ - flex.bool(flex.grid(reversed(p.get_image_size())), True) for p in detector - ] - for i, p in enumerate(detector): - untrusted_regions = p.get_mask() - for j, (f0, s0, f1, s1) in enumerate(untrusted_regions): - sub_array = flex.bool(flex.grid(s1 - s0, f1 - f0), False) - mask[i].matrix_paste_block_in_place(sub_array, s0, f0) - - if len(detector) == 1: - raw_data = [self.get_raw_data()] - else: - raw_data = self.get_raw_data() - assert len(raw_data) == len(detector) - trusted_mask = [ - p.get_trusted_range_mask(im) for im, p in zip(raw_data, detector) - ] - - # returns merged untrusted pixels and active areas using bitwise AND (pixels are accepted - # if they are inside of the active areas AND inside of the trusted range) - return tuple([m & tm for m, tm in zip(mask, trusted_mask)]) - def get_vendortype(self): from dxtbx.format.FormatPilatusHelpers import get_vendortype as gv diff --git a/format/FormatCBFMiniPilatusDLS12M.py b/format/FormatCBFMiniPilatusDLS12M.py index 40d9dcd6b..9ca1a8adc 100644 --- a/format/FormatCBFMiniPilatusDLS12M.py +++ b/format/FormatCBFMiniPilatusDLS12M.py @@ -211,24 +211,6 @@ def get_goniometer_shadow_masker(self, goniometer=None): goniometer = self.get_goniometer() return GoniometerMaskerFactory.dls_i23_kappa(goniometer) - def get_mask(self, goniometer=None): - from dxtbx.model import MultiAxisGoniometer - - mask = super(FormatCBFMiniPilatusDLS12M, self).get_mask() - if ( - isinstance(self.get_goniometer(), MultiAxisGoniometer) - and self._dynamic_shadowing - ): - gonio_masker = self.get_goniometer_shadow_masker(goniometer=goniometer) - scan = self.get_scan() - detector = self.get_detector() - shadow_mask = gonio_masker.get_mask(detector, scan.get_oscillation()[0]) - assert len(mask) == len(shadow_mask) - for m, sm in zip(mask, shadow_mask): - if sm is not None: - m &= sm - return mask - def _goniometer(self): """Return a model for a simple single-axis goniometer. This should probably be checked against the image header.""" diff --git a/format/FormatCBFMiniPilatusDLS6MSN100.py b/format/FormatCBFMiniPilatusDLS6MSN100.py index 19d2c62f0..364a3a908 100644 --- a/format/FormatCBFMiniPilatusDLS6MSN100.py +++ b/format/FormatCBFMiniPilatusDLS6MSN100.py @@ -357,19 +357,6 @@ def _detector(self): def get_goniometer_shadow_masker(self, goniometer=None): return GoniometerMaskerFactory.mini_kappa(goniometer) - def get_mask(self, goniometer=None): - mask = super(FormatCBFMiniPilatusDLS6MSN100, self).get_mask() - if self._dynamic_shadowing: - gonio_masker = self.get_goniometer_shadow_masker(goniometer=goniometer) - scan = self.get_scan() - detector = self.get_detector() - shadow_mask = gonio_masker.get_mask(detector, scan.get_oscillation()[0]) - assert len(mask) == len(shadow_mask) - for m, sm in zip(mask, shadow_mask): - if sm is not None: - m &= sm - return mask - def _read_cbf_image(self): from cbflib_adaptbx import uncompress import binascii diff --git a/format/FormatMultiImage.py b/format/FormatMultiImage.py index eb5a44b73..49ea304a1 100644 --- a/format/FormatMultiImage.py +++ b/format/FormatMultiImage.py @@ -80,9 +80,6 @@ def get_scan(self, index=None): def get_raw_data(self, index=None): raise NotImplementedError - def get_mask(self, index=None, goniometer=None): - return None - def get_detectorbase(self, index=None): raise NotImplementedError diff --git a/format/FormatNexusEigerDLS16M.py b/format/FormatNexusEigerDLS16M.py index 1a37f6b58..8834e2797 100644 --- a/format/FormatNexusEigerDLS16M.py +++ b/format/FormatNexusEigerDLS16M.py @@ -2,7 +2,6 @@ import h5py import libtbx -from scitbx.array_family import flex from dxtbx.format.FormatNexus import FormatNexus from dxtbx.model import MultiAxisGoniometer from dxtbx.masking import GoniometerMaskerFactory @@ -56,28 +55,6 @@ def __init__(self, image_file, **kwargs): super(FormatNexusEigerDLS16M, self).__init__(image_file, **kwargs) self._dynamic_shadowing = self.has_dynamic_shadowing(**kwargs) - def get_mask(self, index, goniometer=None): - mask = super(FormatNexusEigerDLS16M, self).get_mask() - if mask is None: - # XXX mask really shouldn't be None - # https://jira.diamond.ac.uk/browse/SCI-8308 - mask = tuple( - flex.bool(flex.grid(reversed(panel.get_image_size())), True) - for panel in self.get_detector() - ) - if self._dynamic_shadowing and self.get_scan(): - gonio_masker = self.get_goniometer_shadow_masker(goniometer=goniometer) - scan = self.get_scan() - detector = self.get_detector() - shadow_mask = gonio_masker.get_mask( - detector, scan.get_angle_from_image_index(index) - ) - assert len(mask) == len(shadow_mask) - for m, sm in zip(mask, shadow_mask): - if sm is not None: - m &= sm - return mask - def get_goniometer_shadow_masker(self, goniometer=None): if not self._dynamic_shadowing: return None