Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
20db897
formatESSNMX
aaronfinke Jan 16, 2025
b6b9364
Updated formatessnmx
aaronfinke Jan 20, 2025
8ac34fc
Merge in bulk reformatting from main
ndevenish Jan 20, 2025
065755a
added 780.feature descirption, AF to Authors list
aaronfinke Jan 20, 2025
0993f41
edits to FormatESSNMX
aaronfinke Mar 4, 2025
ec09921
change to new output format
aaronfinke Mar 14, 2025
20e8fc6
removed functions for diffraview
aaronfinke Mar 14, 2025
1ffdfb3
Merge branch main into HEAD
ndevenish Apr 17, 2025
a3c9dd3
convert data to int32
aaronfinke Mar 14, 2025
f606e74
adding old ESSNMX format as ESSNMX_old for compatibility
aaronfinke Mar 15, 2025
27299d0
fixed get_raw_data in FormatESSNMX to improve file reading performance
aaronfinke Mar 17, 2025
ef07e80
Merge remote-tracking branch 'origin/main' into aaron_formatESSNMX
ndevenish Apr 17, 2025
503b999
Restore accidentally removed line from imageset.h
ndevenish Apr 17, 2025
787462c
changes to formatMANDI
aaronfinke Apr 7, 2025
214d7ab
formatMANDI updated
aaronfinke May 20, 2025
f2b3cfc
New options for dxtbx.any2nexus (#803)
phyy-nx Apr 21, 2025
ba97aab
New features for FormatXTC and tweak for ePix (#804)
phyy-nx Apr 21, 2025
44298f1
FormatBrukerELA (#802)
dagewa Apr 24, 2025
1b189a6
dxtbx 3.23.0 Changelog
DiamondLightSource-build-server Jan 8, 2025
2fce885
Switch to libtbx.mpi4py for dxtbx.image_average (#805)
phyy-nx Apr 29, 2025
1e1fba1
dxtbx 3.24.0 Changelog
DiamondLightSource-build-server Apr 29, 2025
5ca0340
Bump version: 3.24.dev → 3.25.dev
DiamondLightSource-build-server Apr 29, 2025
747c303
libtbx_refresh.py: find dist-info in the install directory instead of…
dwpaley Apr 30, 2025
62cd387
Fix dxtbx.install_format for more modern setuptools (#808)
dagewa May 1, 2025
4eeb7df
Move two tests to use `dials-data` (#810)
dagewa May 1, 2025
fb4aea8
Convert remaining tests to use `dials-data` rather than `dials_regres…
dagewa May 9, 2025
f2738b0
`dials_regression` no more (#815)
dagewa May 9, 2025
ae284c0
DIALS 3.24.1 Changelog
DiamondLightSource-build-server May 13, 2025
8f0fdc4
MemReader needs to know its format class to be used with FullCBFWrite…
dwmoreau May 14, 2025
c45eff2
Use `pathlib=True` in the `dials_data` fixture to avoid `DeprecationW…
dagewa May 16, 2025
b7c07ea
Revert "MemReader needs to know its format class to be used with Full…
dwmoreau May 19, 2025
9ba0d25
Crystal from PHIL (#819)
dagewa May 20, 2025
e351988
MNT: fix dxtbx.install_format after error crept in with #808 (#821)
dagewa May 22, 2025
742b428
Migrate dxtbx build backend to hatchling (#778)
ndevenish May 22, 2025
98b8671
Numpy 2.0+ Compatibility (#751)
ndevenish May 23, 2025
2ff1774
Numpy 2: Fix failure requiring DIALS to test
ndevenish May 23, 2025
6da881a
Higher precision crystal matrices (#823)
dagewa May 23, 2025
59da75d
Add DECTRIS Singla to detectors.lib (#824)
mpks May 27, 2025
a4cc59d
Python 3.13 (#826)
ndevenish Jun 2, 2025
52bec1f
Update and run pre-commit hooks (#827)
ndevenish Jun 2, 2025
0c1b7bd
Avoid reading h5 imagesets as having a single image, when a format cl…
jbeilstenedmands Jun 3, 2025
c127aa4
Tweaks for `dials.modify_experiments` (#829)
dagewa Jun 9, 2025
5916f44
MNT: Update bump2version config for pyproject
ndevenish Jun 19, 2025
8be9a83
Support for the Bruker Photon-IV (#830)
dagewa Jun 20, 2025
7fe59ff
dxtbx 3.25.0 Changelog
DiamondLightSource-build-server Jun 20, 2025
936cc10
Bump version: 3.25.dev → 3.26.dev
DiamondLightSource-build-server Jun 20, 2025
b4d43bf
Added format class for treating data from MANDI as Laue data. (#833)
toastisme Jul 22, 2025
1e1ab7d
Update DLS I23 bad module masks (#835)
ndevenish Jul 30, 2025
8306f7c
Add /bigobj to non-bootstrap CMake build (#839)
dwpaley Aug 11, 2025
72fea85
Store nxmx trusted range as int to handle big numbers (#837)
dwpaley Aug 11, 2025
9b1d7bd
Add support for images in compressed `.trpx` format (#831)
dagewa Aug 11, 2025
359831a
Record history in experiment, consolidate on experiment list write (#…
dagewa Aug 11, 2025
5eb7ec3
Add missing index param for FormatMANDI.get_detector (#840)
toastisme Aug 12, 2025
ec51361
Fix typo in FormatMANDILaue when calling generate_laue_data_for_panel…
toastisme Aug 12, 2025
bc291ca
Add tof_helpers.InstrumentDefinitionReader (#842)
toastisme Aug 13, 2025
d0f0456
Fix typo in tof_helpers.InstrumentDefinitionReader. (#843)
toastisme Aug 14, 2025
ef827ae
Update panel hierarchy of ToF detectors (#844)
toastisme Aug 14, 2025
7a63729
Enable reject pickling for imageset (#849)
dagewa Sep 17, 2025
7b61496
Add overloads for Detector.get_ray_intersection to allow for arrays o…
toastisme Sep 18, 2025
eb20a8a
SSRF reverse phi beamlines (#851)
dagewa Sep 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 3.24.dev
current_version = 3.26.dev
commit = True
tag = False
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<release>[a-z]+)?(?P<patch>\d+)?
Expand All @@ -8,9 +8,9 @@ serialize =
{major}.{minor}.{release}
{major}.{minor}.{patch}

[bumpversion:file:setup.py]
search = __version_tag__ = "{current_version}"
replace = __version_tag__ = "{new_version}"
[bumpversion:file:pyproject.toml]
search = version = "{current_version}"
replace = version = "{new_version}"

[bumpversion:part:patch]

Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/build_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu, macOS, windows]
python: ["3.9", "3.12"]
python: ["3.11", "3.12", "3.13"]
runs-on: ${{ matrix.os }}-latest
# Micromamba needs a login shell to activate
defaults:
Expand Down Expand Up @@ -45,6 +45,7 @@ jobs:
run: echo "CMAKE_GENERATOR=Ninja" >> $GITHUB_ENV
- name: Build
run: |
pip3 install "nxmx>=0.0.5"
mkdir build
cd build
cmake ../dxtbx -DCMAKE_UNITY_BUILD=true -DPython_ROOT_DIR="${CONDA_PREFIX}"
Expand Down
9 changes: 6 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
ci:
autoupdate_schedule: quarterly

repos:
# Syntax validation and some basic sanity checks
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
rev: v5.0.0
hooks:
- id: check-merge-conflict
- id: check-ast
Expand All @@ -16,7 +19,7 @@ repos:
name: "Don't commit to 'main' directly"

- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: v0.4.8
rev: v0.11.12
hooks:
- id: ruff
args: [--fix, --exit-non-zero-on-fix, --show-fixes]
Expand All @@ -25,7 +28,7 @@ repos:
types: [file]

- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v14.0.6
rev: v20.1.5
hooks:
- id: clang-format
files: \.c(c|pp|xx)?$|\.h(pp)?$
1 change: 1 addition & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
Contributors include:

Aaron Brewster
Aaron Finke
Asmit Bhowmick
Ben Williams
Billy K. Poon
Expand Down
105 changes: 105 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,108 @@
dxtbx 3.25.0 (2025-06-20)
=========================

Features
--------

- DXTBX is now compatible with numpy 2. (`#751 <https://github.com/cctbx/dxtbx/issues/751>`_)
- Allow the creation of a simple ``Crystal`` model from PHIL parameters. (`#819 <https://github.com/cctbx/dxtbx/issues/819>`_)
- Python 3.13 compatibility. (`#826 <https://github.com/cctbx/dxtbx/issues/826>`_)


Bugfixes
--------

- Convert tests to use ``dials-data``, rather than ``dials_regression``. This means they can be run outside of Diamond. (`#812 <https://github.com/cctbx/dxtbx/issues/812>`_)
- Increase displayed precision of crystal U, B and A matrices. (`#823 <https://github.com/cctbx/dxtbx/issues/823>`_)
- Add DECTRIS Singla to detectors.lib. (`#824 <https://github.com/cctbx/dxtbx/issues/824>`_)
- Avoid reading h5 imagesets as having a single image, when a format class is not available (`#825 <https://github.com/cctbx/dxtbx/issues/825>`_)
- ``dials.modify_experiments``: Bug fixes for ``CrystalFactory.from_phil``. (`#829 <https://github.com/cctbx/dxtbx/issues/829>`_)


Deprecations and Removals
-------------------------

- The ``dials_regression`` and ``dials_regression_path`` fixtures are removed, as no tests use this repository any more. (`#815 <https://github.com/cctbx/dxtbx/issues/815>`_)


Misc
----

- `#778 <https://github.com/cctbx/dxtbx/issues/778>`_, `#807 <https://github.com/cctbx/dxtbx/issues/807>`_, `#810 <https://github.com/cctbx/dxtbx/issues/810>`_, `#817 <https://github.com/cctbx/dxtbx/issues/817>`_, `#818 <https://github.com/cctbx/dxtbx/issues/818>`_, `#827 <https://github.com/cctbx/dxtbx/issues/827>`_


DIALS 3.24.1 (2025-05-13)
=========================

Bugfixes
--------

- ``dxtbx.install_format``: Fix for modern setuptools versions which drop legacy ``setup.py`` features. (`#808 <https://github.com/cctbx/dxtbx/issues/808>`_)


dxtbx 3.24.0 (2025-04-29)
=========================

Features
--------

- ``FormatROD_Arc``: Support for Rigaku HyPix-Arc 100° and 150° curved detectors. (`#787 <https://github.com/cctbx/dxtbx/issues/787>`_)
- ``FormatBrukerELA``: Add support for the DECTRIS-ELA detector images in Bruker SFRM format. (`#802 <https://github.com/cctbx/dxtbx/issues/802>`_)
- ``dxtbx.any2nexus``: Add ``sensor_material=`` and ``sensor_thickness=`` options. (`#803 <https://github.com/cctbx/dxtbx/issues/803>`_)
- ``FormatXTC``: New features for managing wavelength calibration and an adjustment to the minimum trusted range for the ePix. (`#804 <https://github.com/cctbx/dxtbx/issues/804>`_)


Bugfixes
--------

- Fix issue where attempting to group experiments would fail if the source images are currently inaccessible. This caused failures in downstream tooling such as ``xia2.ssx_reduce``. (`#772 <https://github.com/cctbx/dxtbx/issues/772>`_)
- ``dials.import``: Reduce excessive memory usage when importing many (>100s) FormatNXMX files. (`#789 <https://github.com/cctbx/dxtbx/issues/789>`_)
- ``FormatNXmxEigerFilewriter``: Use a lookup table when deciding whether to swap image dimensions, rather than relying on a firmware version check. (`#793 <https://github.com/cctbx/dxtbx/issues/793>`_)
- ``FormatROD``: Use the weighted average of K-alpha1 and K-alpha2 as the monochromatic wavelength for the beam model. (`#800 <https://github.com/cctbx/dxtbx/issues/800>`_)
- ``FormatRAXIS``: Allow the possibility of reading compressed files. (`#801 <https://github.com/cctbx/dxtbx/issues/801>`_)


Improved Documentation
----------------------

- The user support mailing list is now ``dials-user-group@jiscmail.net`` (`#795 <https://github.com/cctbx/dxtbx/issues/795>`_)


Misc
----

- `#197 <https://github.com/cctbx/dxtbx/issues/197>`_, `#788 <https://github.com/cctbx/dxtbx/issues/788>`_, `#796 <https://github.com/cctbx/dxtbx/issues/796>`_, `#797 <https://github.com/cctbx/dxtbx/issues/797>`_, `#805 <https://github.com/cctbx/dxtbx/issues/805>`_, `#978 <https://github.com/cctbx/dxtbx/issues/978>`_


dxtbx 3.23.0 (2025-01-08)
=========================

Features
--------

- Nexus support: Handle reading new scale_factor fields (used for detector gain). (`#756 <https://github.com/cctbx/dxtbx/issues/756>`_)
- ``dials.import``: Add a progress bar, so that it doesn't look like progress has stopped with large collections of images. (`#768 <https://github.com/cctbx/dxtbx/issues/768>`_)
- Add ``FormatSMVADSCCetaD`` to allow easier processing of 3DED images from the Ceta-D detector, which have been converted to SMV. (`#770 <https://github.com/cctbx/dxtbx/issues/770>`_)


Bugfixes
--------

- ``dials.show``: Hide progress bar if DIALS_NOBANNER (`#774 <https://github.com/cctbx/dxtbx/issues/774>`_)


Deprecations and Removals
-------------------------

- Python 3.10 is now the minimum required (`#769 <https://github.com/cctbx/dxtbx/issues/769>`_)


Misc
----

- `#767 <https://github.com/cctbx/dxtbx/issues/767>`_, `#773 <https://github.com/cctbx/dxtbx/issues/773>`_, `#775 <https://github.com/cctbx/dxtbx/issues/775>`_


dxtbx 3.22.0 (2024-10-15)
=========================

Expand Down
5 changes: 5 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@ include(AlwaysColourCompilation) # Always show coloured compiler output
set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # Generate compile_commands.json
set(CMAKE_CXX_STANDARD 14)

# Handle unity build on Windows
if (CMAKE_UNITY_BUILD AND MSVC)
add_compile_options(/bigobj)
endif()

find_package(Python REQUIRED COMPONENTS Interpreter Development)
find_package(CCTBX COMPONENTS scitbx cctbx REQUIRED)
find_package(pybind11 REQUIRED)
Expand Down
1 change: 1 addition & 0 deletions SConscript
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,7 @@ if not env_etc.no_boost_python and hasattr(env_etc, "boost_adaptbx_include"):
"src/dxtbx/model/boost_python/crystal.cc",
"src/dxtbx/model/boost_python/parallax_correction.cc",
"src/dxtbx/model/boost_python/pixel_to_millimeter.cc",
"src/dxtbx/model/boost_python/history.cc",
"src/dxtbx/model/boost_python/experiment.cc",
"src/dxtbx/model/boost_python/experiment_list.cc",
"src/dxtbx/model/boost_python/model_ext.cc",
Expand Down
113 changes: 0 additions & 113 deletions build.py

This file was deleted.

39 changes: 0 additions & 39 deletions conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,50 +5,11 @@

from __future__ import annotations

import os
import socket

import pytest

collect_ignore = []


def dials_regression_path():
"""Return the absolute path to the dials_regression module as a string.
This function is used directly by tests/test_regression_images.py"""

if "DIALS_REGRESSION" in os.environ:
return os.environ["DIALS_REGRESSION"]

try:
import dials_regression as dr

return os.path.abspath(os.path.dirname(dr.__file__))
except ImportError:
pass # dials_regression not configured

# Check if we are in a known location
reference_copy = (
"/dls/science/groups/scisoft/DIALS/repositories/git-reference/dials_regression"
)
if (
os.name == "posix"
and socket.gethostname().endswith(".diamond.ac.uk")
and os.path.exists(reference_copy)
):
return reference_copy


@pytest.fixture(scope="session")
def dials_regression():
"""Return the absolute path to the dials_regression module as a string.
Skip the test if dials_regression is not available."""
d_r = dials_regression_path()
if d_r:
return d_r
pytest.skip("dials_regression required for this test")


def pytest_addoption(parser):
"""Add '--regression' options to pytest."""
try:
Expand Down
Loading