Release Notes
1.11
2023-11-01
Add an
example()
class method for each detector type to create a sample geometry, and helper class methodsmonolithic_geometry()
andpair_geometry()
for Epix detectors (PR #243). Theexample()
methods make it easier to look at the data when you have no specific information about its geometry, but it may be quite different from the real positions of modules in a given experiment. For some detector types, you need to pass the number of modules in your detector.Modules in
AGIPD_500K2GGeometry
are now labelled M0 - M7 byinspect()
(PR #226).
1.10
2023-04-21
Support for LPD Mini detectors (PR #187).
Add
to_pyfai_detector()
for JUNGFRAU detectors (PR #197)Fix
AGIPD_500K2GGeometry.from_origin()
with non-default units (PR #213).Fix
plot_data()
with labelled data arrays (PR #198).Fix DSSC’s
position_modules_cartesian()
andplot_data_cartesian()
to accept Xarray labelled array objects (PR #207).Fix alias for LPD PyFAI detector class (PR #190).
1.9
2022-10-28
New methods to assemble DSSC data and convert the hexagonal pixels onto a square grid:
position_modules_cartesian()
andplot_data_cartesian()
(PR #174).
1.8
2022-10-18
New method
DSSC_1MGeometry.plot_data_hexes()
to plot DSSC data, drawing a hexagon for each pixel. This is slower than regular plotting, but more accurately represents what the detector ‘saw’ (PR #167).More useful labels, and an option to supply custom module labels, for JUNGFRAU geometry in
inspect()
(PR #177).Fix assembling JUNGFRAU images from labelled array with module numbers starting from 1 (PR #169).
Fix a bug writing some geometry objects to CrystFEL format
.geom
files (PR #163)
1.7.1
2022-05-19
Fix the pattern of hexagonal pixels in the DSSC detector (PR #160). Thanks to Loïc le Guyader for identifying and investigating this issue.
1.7
2022-03-02
New method
to_pyfai_detector()
for AGIPD, DSSC and LPD to make a PyFAI detector object (PR #139). See Azimuthal integration for an example.New method
rotate()
to rotate all or selected parts of the detector by given angles in 3D (PR #128).Rename
plot_data_fast
toplot_data
, andposition_modules_fast
toposition_modules
(PR #143). The old names remain as aliases.EXtra-geom now works with (and requires) cfelpyutils 2.x for reading CrystFEL format
.geom
files (PR #114).
1.6
2021-09-22
Store and read (with new
from_h5_file()
method) quadrant positions in EuXFEL HDF5 format geometry files (PR #92).Read some metadata from CrystFEL format
.geom
files and use it as defaults when writing a new.geom
file (PR #87).Fix writing
coffset
(z coordinates) correctly in.geom
files (PR #102).Require cfelpyutils < 2 until we fix compatibility with the new version (PR #107).
1.5
2021-08-30
Add method to make geometry from ASIC pairs positions for ePix100 detector and method to normalize ePix data (PR #97). See ePix100/ePix10K.
Make scipy an optional dependency (PR #90).
Add method to make DSSC-1M geometry from only quadrant positions (PR #89). See DSSC geometry (example) and DSSC-1M (reference).
Fix method name in docstring (PR #84).
1.4
2021-06-16
Added support for ePix100 & ePix10k detectors (PR #73). See ePix100/ePix10K geometry (example) and ePix100/ePix10K (reference).
GenericGeometry.inspect()
now labels modules and tiles if there are more than one (PR #74).Allocating output arrays to assemble integer data should be faster (PR #78).
Use
NotImplementedError
to make it clear that creatingGenericGeometry
from a.geom
file is not yet supported (PR #77).
1.3
2021-05-20
A new
GenericGeometry
class allows describing the layout of an unknown detector, with the user specifying details such as pixel size and number of modules (PR #72). See Generic Geometry for an introduction.Fix a small discrepancy in module positions with
JUNGFRAUGeometry.from_module_positions()
(PR #69).
1.2.1
2021-04-20
Fix assembling images from an
extra_data
StackView object (PR #67).
1.2
2021-04-16
JUNGFRAU geometry can now be saved to and loaded from CrystFEL format
.geom
files - see the JUNGFRAU example,JUNGFRAUGeometry.write_crystfel_geom()
andJUNGFRAUGeometry.from_crystfel_geom()
(PR #49).Images can now be assembled from an
xarray.DataArray
with a dimension named ‘module’ labelled with module numbers counting from 0 (PR #62).Fix how
coffset
information is handled when reading CrystFEL geometry files (PR #60).PNCCDGeometry
, added in 0.10, is now documented and tested (PR #45).New Frequently Asked Questions document (PR #51)
Avoid importing
scipy.ndimage
unnecessarily (PR #50).
1.1.1
2020-12-17
Fix module orientation for AGIPD 500k detector (PR #41).
1.1
2020-12-04
New
position_modules_symmetric()
method to assemble data with the detector centre at the midpoint of the output array (PR #31).New
offset()
method to move part or all of a geometry in 2 or 3 dimensions (PR #27).New function
agipd_asic_seams()
to select or mask the double-width pixels where AGIPD tiles touch.Examples in documentation rearranged and improve (PR #32, PR #36).
CI moved to Github Actions (PR #34) and integrated with Dependabot to control new versions of dependencies (PR #35).
1.0
2020-10-01
Added support for AGIPD ‘mini-half’ detector (8 modules) - see AGIPD-500K2G (PR #26).
Added methods to write XFEL HDF5 geometry files and get quadrant positions from geometry objects (PR #24).
Fixed y-axis scale in metres for plotting DSSC data (PR #23).
Faster image assembly with less overhead (PR #16).
Allow parallel image assembly using a thread pool (PR #17), which can speed up assembling several images to a single 3D array.
0.10
2020-06-24
Added support for pnCCD detector (PR #13).
0.9
2020-03-24
New example showing how to construct masks: Making data masks (PR #1).
Correct code in
LPD_1MGeometry.from_h5_file_and_quad_positions()
which was working only by numeric coincidence (PR #7).
0.8
2019-11-18
First separated version. No functional changes from karabo_data 0.7.
Earlier history
The code in EXtra-geom was previously released as karabo_data, up to version 0.7. See the karabo_data release notes for changes before the separation.