Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
c153945
minimal mythen reduction and legacy example added
RJCD-Diamond Jan 27, 2026
0b33fab
added guis for inspecting mythen data
Jan 28, 2026
df9b6bb
fixed typing
RJCD-Diamond Jan 28, 2026
26517b3
fixed tests
RJCD-Diamond Jan 28, 2026
85ba9f2
assert in settings test
RJCD-Diamond Jan 28, 2026
01d3db8
added libs to dockerfile to make gui works
RJCD-Diamond Jan 28, 2026
0f0f450
changed processor setting to mythen settings
RJCD-Diamond Jan 28, 2026
3e601a4
gui working in container
RJCD-Diamond Jan 28, 2026
7fca534
make bad pixel gui work with Mythen Data Loader
RJCD-Diamond Jan 29, 2026
957e8df
add emoji lib to dev container and change ui to emojis
RJCD-Diamond Jan 29, 2026
59bc2c6
made reprocessor gui add all settings
RJCD-Diamond Jan 29, 2026
cb98e2a
add default bad channels path
RJCD-Diamond Jan 29, 2026
567f8ea
minor edits
RJCD-Diamond Jan 29, 2026
51b7148
add analysis logger
RJCD-Diamond Jan 29, 2026
7ffc340
make logger use pathlib
RJCD-Diamond Jan 29, 2026
f01dfbd
add basic module loading
RJCD-Diamond Jan 29, 2026
62c5f67
changed directory of reprocessor gui depending on beamline arg
RJCD-Diamond Jan 29, 2026
fc4c671
add get_filenumber util
RJCD-Diamond Jan 29, 2026
707cd38
add nexus unpacked
RJCD-Diamond Jan 29, 2026
d88bb83
add nexus getters
RJCD-Diamond Jan 29, 2026
6e5e4f5
add type hints to nexus getters
RJCD-Diamond Jan 29, 2026
2834079
added more specific variable name
RJCD-Diamond Jan 29, 2026
a670871
add get_folders in path function
RJCD-Diamond Jan 29, 2026
caa1a7f
add nexus dataset path to utils
RJCD-Diamond Jan 29, 2026
a22fa5b
add nexus dataset copier type hints
RJCD-Diamond Jan 29, 2026
6dc3fcb
add DaqMessenger and mythen lgeacy
RJCD-Diamond Jan 29, 2026
3b5426d
add more utils tests
RJCD-Diamond Jan 29, 2026
8b2a16e
added int load tests
RJCD-Diamond Jan 29, 2026
0ef4c85
add test for get list of paths
RJCD-Diamond Jan 29, 2026
bae0e88
add export to dev container
RJCD-Diamond Jan 30, 2026
2c29a7c
made settings load/save generic
RJCD-Diamond Jan 30, 2026
c2adc51
added toml to dev container
RJCD-Diamond Jan 30, 2026
64ce0cb
added example reduction toml settings
RJCD-Diamond Jan 30, 2026
cf51d2d
added DS_Store to gitignore
RJCD-Diamond Jan 30, 2026
424b4f2
added tests for mythen settings save/load
RJCD-Diamond Jan 30, 2026
db50db3
assert home in folder test
RJCD-Diamond Jan 30, 2026
12af516
used pathlib to get correct filepath for config
RJCD-Diamond Jan 30, 2026
2d2597d
added new pydnatic model for angular calibration
RJCD-Diamond Feb 2, 2026
d23915a
add sign function to conv
RJCD-Diamond Feb 2, 2026
24d13b1
further improvements to pydantic mythen
RJCD-Diamond Feb 2, 2026
1a23389
made bad channel mask
RJCD-Diamond Feb 2, 2026
5845c47
minimal step scan working
RJCD-Diamond Feb 3, 2026
8f5b786
lots of changes, added legacy stuff
RJCD-Diamond Feb 27, 2026
04b2862
refactored nexus dict, and moved module_to_pixel util
RJCD-Diamond Feb 27, 2026
359b80e
removed todo
RJCD-Diamond Feb 27, 2026
0d6fd61
renamed offset to module offset
RJCD-Diamond Feb 27, 2026
537a29e
fixed mythen load paths after mnt
RJCD-Diamond Mar 2, 2026
f916d92
experimenting with changes
Mar 11, 2026
df7b486
ignore some types in peaks.py
RJCD-Diamond Mar 11, 2026
79f379e
ignore missing packages
RJCD-Diamond Mar 11, 2026
2bdf7a6
modify dockerfile
RJCD-Diamond Mar 11, 2026
35b492e
modify dockerfile
RJCD-Diamond Mar 11, 2026
c72796c
remove ubuntu fail points
RJCD-Diamond Mar 11, 2026
79fcdb6
fixes and docker fix
RJCD-Diamond Mar 11, 2026
12ce316
peaks fitting pe2ad for sample alignmenr
RJCD-Diamond Mar 18, 2026
1cc5384
add dls mounts
RJCD-Diamond Mar 18, 2026
929b276
comment out mount
RJCD-Diamond Mar 18, 2026
b945f9d
added peak calculations - lp factor still wrong
RJCD-Diamond Mar 27, 2026
3c1e695
add refinement
RJCD-Diamond Apr 14, 2026
1d5c114
fix core import
RJCD-Diamond Apr 15, 2026
81058cb
changed cif name
RJCD-Diamond Apr 15, 2026
218caf6
changed cif name
RJCD-Diamond Apr 15, 2026
91e723b
moved fitting files
RJCD-Diamond Apr 15, 2026
8464e3a
renamed file
RJCD-Diamond Apr 15, 2026
3044d29
changed import locations
RJCD-Diamond Apr 15, 2026
1e16136
change import locations
RJCD-Diamond Apr 15, 2026
f537a24
add fit engine import to background
RJCD-Diamond Apr 15, 2026
d7922c1
remove redudant shifts
RJCD-Diamond Apr 15, 2026
36927c7
tidy up
RJCD-Diamond Apr 15, 2026
bd6dfb7
add coeffs to background
RJCD-Diamond Apr 15, 2026
3c68b3a
basic refinement
RJCD-Diamond Apr 23, 2026
fd58fab
add extrav tests
RJCD-Diamond Apr 23, 2026
76e4721
Added background refinement
RJCD-Diamond Apr 30, 2026
133002e
add sample alignment data
RJCD-Diamond Apr 30, 2026
e152d45
add intiial sample_alignment fitter
RJCD-Diamond May 1, 2026
b2a235e
fixed refinement plotting, replaced refiner with fitting_core and imp…
RJCD-Diamond May 7, 2026
42f86e0
fixed refinement plotting, replaced refiner with fitting_core and imp…
RJCD-Diamond May 7, 2026
d08d5f4
add tests for profile and sample alignment
RJCD-Diamond May 7, 2026
d213327
added poblish to plot data
RJCD-Diamond May 7, 2026
9239027
remove print from deparameterise
RJCD-Diamond May 7, 2026
c51a1d2
made messenger more robust
RJCD-Diamond May 8, 2026
4d7c253
move fit stats to file and add Rwp and Rp and GOF
RJCD-Diamond May 13, 2026
822f73c
allow sample loader to load from filepath and datasetpath
RJCD-Diamond May 13, 2026
52e9e6b
update uvlock
RJCD-Diamond May 13, 2026
bc75407
Merge branch 'main' into mythen_detector
RJCD-Diamond May 13, 2026
cd78a9d
fix utils tests
RJCD-Diamond May 13, 2026
91df5f1
fix eiger test
RJCD-Diamond May 13, 2026
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
23 changes: 21 additions & 2 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
"name": "Python 3 Developer Container",
"build": {
"dockerfile": "../Dockerfile",
"target": "developer"
"target": "developer",
"platform": "linux/amd64"
},
"remoteEnv": {
// Allow X11 apps to run inside the container
Expand Down Expand Up @@ -63,7 +64,25 @@
"source": "devcontainer-shared-cache",
"target": "/cache",
"type": "volume"
}
},
{
"source": "${localEnv:HOME}${localEnv:USERPROFILE}",
"target": "/host-home",
"type": "bind"
},
// Mount facility directories if present on the host (Docker will create
// the host directory if it does not exist). These ensure /dls and
// /dls_sw are available inside the container when present on the host.
// {
// "source": "/dls/i15-1/data",
// "target": "/dls/i15-1/data",
// "type": "bind"
// },
// {
// "source": "/dls_sw",
// "target": "/dls_sw",
// "type": "bind"
// }
],
// Mount the parent as /workspaces so we can pip install peers as editable
"workspaceMount": "source=${localWorkspaceFolder}/..,target=/workspaces,type=bind",
Expand Down
13 changes: 13 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,16 @@ __pycache__/
# C extensions
*.so

#h5 files, but not hdf5
*.h5

# output of running reduction
*.xye
**/processed/

#binary files used for ang cal
*.obj

# Distribution / packaging
.Python
env/
Expand Down Expand Up @@ -69,3 +79,6 @@ lockfiles/

# ruff cache
.ruff_cache/

#mac items
*.DS_Store
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ repos:
rev: v5.0.0
hooks:
- id: check-added-large-files
exclude: ^uv.lock
exclude: (^uv\.lock$|\.hdf5$)
- id: check-yaml
- id: check-merge-conflict
- id: end-of-file-fixer
Expand Down
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"python.testing.unittestEnabled": false,
"python.analysis.nodeExecutable": "auto",
"python.testing.pytestEnabled": true,
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
Expand All @@ -9,4 +10,6 @@
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff",
},
"python-envs.defaultEnvManager": "ms-python.python:system",
"python-envs.pythonProjects": [],
}
28 changes: 26 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,28 @@ FROM ghcr.io/diamondlightsource/ubuntu-devcontainer:noble AS developer
# Add any system dependencies for the developer/build environment here
RUN apt-get update -y && apt-get install -y --no-install-recommends \
graphviz \
&& apt-get dist-clean
&& apt-get dist-clean

RUN apt-get update && apt-get install ffmpeg libsm6 libxext6 libgl1 libegl1 -y
RUN apt-get update && apt-get install -y \
libx11-xcb-dev \
libglu1-mesa-dev \
libxrender-dev \
libxi-dev \
libxkbcommon-dev \
libxkbcommon-x11-dev \
libegl1 \
libxcb-cursor0 -y

RUN apt-get update && apt-get install -y \
libxcb-icccm4 \
libxcb-keysyms1 \
libxcb-render-util0 \
libxcb-xinerama0 \
libxcb-xkb1 \
libxkbcommon-x11-0

RUN apt-get install fonts-noto-color-emoji -y

# The build stage installs the context into the venv
FROM developer AS build
Expand All @@ -29,7 +50,7 @@ FROM ubuntu:noble AS runtime

# Add apt-get system dependecies for runtime here if needed
# RUN apt-get update -y && apt-get install -y --no-install-recommends \
# some-library \
# some-dependecies \
# && apt-get dist-clean

# Copy the python installation from the build stage
Expand All @@ -42,3 +63,6 @@ ENV PATH=/app/.venv/bin:$PATH
# change this entrypoint if it is not the same as the repo
ENTRYPOINT ["XRPD-Toolbox"]
CMD ["--version"]

ENV MPLCONFIGDIR=/tmp/matplotlib
RUN export DISPLAY=:0
267 changes: 267 additions & 0 deletions cifs/CeO2.cif
Original file line number Diff line number Diff line change
@@ -0,0 +1,267 @@

#(C) 2026 by FIZ Karlsruhe - Leibniz Institute for Information Infrastructure. All rights reserved.
data_24887-ICSD
_database_code_ICSD 24887
_audit_creation_date 2021-08-01
_chemical_name_common Ceria
_chemical_formula_structural 'Ce O2'
_chemical_formula_sum 'Ce1 O2'
_chemical_name_structure_type CaF2
_exptl_crystal_density_diffrn 7.19
_citation_title

;
Introducing highly redox-active atomic centers into insertion-type electrodes
for lithium-ion batteries
;
loop_
_citation_id
_citation_journal_full
_citation_year
_citation_journal_volume
_citation_page_first
_citation_page_last
_citation_journal_id_ASTM
primary 'Advanced Energy Materials' 2020 10 1 14 ADEMBC
loop_
_citation_author_citation_id
_citation_author_name
primary 'Ma, Yanjiao'
primary 'Ma, Yuan'
primary 'Giuli, Gabriele'
primary 'Euchner, Holger'
primary 'Gross, Axel'
primary 'Lepore, Giovanni Orazio'
primary "d'Acapito, Francesco"
primary 'Geiger, Dorin'
primary 'Biskupek, Johannes'
primary 'Kaiser, Ute'
primary 'Schütz, Hanno M.'
primary 'Carlsson, Anna'
primary 'Diemant, Thomas'
primary 'Behm, Rolf Jürgen'
primary 'Kuenzel, Matthias'
primary 'Passerini, Stef'
_cell_length_a 5.4178(1)
_cell_length_b 5.4178(1)
_cell_length_c 5.4178(1)
_cell_angle_alpha 90.
_cell_angle_beta 90.
_cell_angle_gamma 90.
_cell_volume 159.03
_cell_formula_units_Z 4
_space_group_name_H-M_alt 'F m -3 m'
_space_group_IT_number 225
loop_
_space_group_symop_id
_space_group_symop_operation_xyz
1 'z, y, -x'
2 'y, x, -z'
3 'x, z, -y'
4 'z, x, -y'
5 'y, z, -x'
6 'x, y, -z'
7 'z, -y, x'
8 'y, -x, z'
9 'x, -z, y'
10 'z, -x, y'
11 'y, -z, x'
12 'x, -y, z'
13 '-z, y, x'
14 '-y, x, z'
15 '-x, z, y'
16 '-z, x, y'
17 '-y, z, x'
18 '-x, y, z'
19 '-z, -y, -x'
20 '-y, -x, -z'
21 '-x, -z, -y'
22 '-z, -x, -y'
23 '-y, -z, -x'
24 '-x, -y, -z'
25 '-z, -y, x'
26 '-y, -x, z'
27 '-x, -z, y'
28 '-z, -x, y'
29 '-y, -z, x'
30 '-x, -y, z'
31 '-z, y, -x'
32 '-y, x, -z'
33 '-x, z, -y'
34 '-z, x, -y'
35 '-y, z, -x'
36 '-x, y, -z'
37 'z, -y, -x'
38 'y, -x, -z'
39 'x, -z, -y'
40 'z, -x, -y'
41 'y, -z, -x'
42 'x, -y, -z'
43 'z, y, x'
44 'y, x, z'
45 'x, z, y'
46 'z, x, y'
47 'y, z, x'
48 'x, y, z'
49 'z, y+1/2, -x+1/2'
50 'y, x+1/2, -z+1/2'
51 'x, z+1/2, -y+1/2'
52 'z, x+1/2, -y+1/2'
53 'y, z+1/2, -x+1/2'
54 'x, y+1/2, -z+1/2'
55 'z, -y+1/2, x+1/2'
56 'y, -x+1/2, z+1/2'
57 'x, -z+1/2, y+1/2'
58 'z, -x+1/2, y+1/2'
59 'y, -z+1/2, x+1/2'
60 'x, -y+1/2, z+1/2'
61 '-z, y+1/2, x+1/2'
62 '-y, x+1/2, z+1/2'
63 '-x, z+1/2, y+1/2'
64 '-z, x+1/2, y+1/2'
65 '-y, z+1/2, x+1/2'
66 '-x, y+1/2, z+1/2'
67 '-z, -y+1/2, -x+1/2'
68 '-y, -x+1/2, -z+1/2'
69 '-x, -z+1/2, -y+1/2'
70 '-z, -x+1/2, -y+1/2'
71 '-y, -z+1/2, -x+1/2'
72 '-x, -y+1/2, -z+1/2'
73 '-z, -y+1/2, x+1/2'
74 '-y, -x+1/2, z+1/2'
75 '-x, -z+1/2, y+1/2'
76 '-z, -x+1/2, y+1/2'
77 '-y, -z+1/2, x+1/2'
78 '-x, -y+1/2, z+1/2'
79 '-z, y+1/2, -x+1/2'
80 '-y, x+1/2, -z+1/2'
81 '-x, z+1/2, -y+1/2'
82 '-z, x+1/2, -y+1/2'
83 '-y, z+1/2, -x+1/2'
84 '-x, y+1/2, -z+1/2'
85 'z, -y+1/2, -x+1/2'
86 'y, -x+1/2, -z+1/2'
87 'x, -z+1/2, -y+1/2'
88 'z, -x+1/2, -y+1/2'
89 'y, -z+1/2, -x+1/2'
90 'x, -y+1/2, -z+1/2'
91 'z, y+1/2, x+1/2'
92 'y, x+1/2, z+1/2'
93 'x, z+1/2, y+1/2'
94 'z, x+1/2, y+1/2'
95 'y, z+1/2, x+1/2'
96 'x, y+1/2, z+1/2'
97 'z+1/2, y, -x+1/2'
98 'y+1/2, x, -z+1/2'
99 'x+1/2, z, -y+1/2'
100 'z+1/2, x, -y+1/2'
101 'y+1/2, z, -x+1/2'
102 'x+1/2, y, -z+1/2'
103 'z+1/2, -y, x+1/2'
104 'y+1/2, -x, z+1/2'
105 'x+1/2, -z, y+1/2'
106 'z+1/2, -x, y+1/2'
107 'y+1/2, -z, x+1/2'
108 'x+1/2, -y, z+1/2'
109 '-z+1/2, y, x+1/2'
110 '-y+1/2, x, z+1/2'
111 '-x+1/2, z, y+1/2'
112 '-z+1/2, x, y+1/2'
113 '-y+1/2, z, x+1/2'
114 '-x+1/2, y, z+1/2'
115 '-z+1/2, -y, -x+1/2'
116 '-y+1/2, -x, -z+1/2'
117 '-x+1/2, -z, -y+1/2'
118 '-z+1/2, -x, -y+1/2'
119 '-y+1/2, -z, -x+1/2'
120 '-x+1/2, -y, -z+1/2'
121 '-z+1/2, -y, x+1/2'
122 '-y+1/2, -x, z+1/2'
123 '-x+1/2, -z, y+1/2'
124 '-z+1/2, -x, y+1/2'
125 '-y+1/2, -z, x+1/2'
126 '-x+1/2, -y, z+1/2'
127 '-z+1/2, y, -x+1/2'
128 '-y+1/2, x, -z+1/2'
129 '-x+1/2, z, -y+1/2'
130 '-z+1/2, x, -y+1/2'
131 '-y+1/2, z, -x+1/2'
132 '-x+1/2, y, -z+1/2'
133 'z+1/2, -y, -x+1/2'
134 'y+1/2, -x, -z+1/2'
135 'x+1/2, -z, -y+1/2'
136 'z+1/2, -x, -y+1/2'
137 'y+1/2, -z, -x+1/2'
138 'x+1/2, -y, -z+1/2'
139 'z+1/2, y, x+1/2'
140 'y+1/2, x, z+1/2'
141 'x+1/2, z, y+1/2'
142 'z+1/2, x, y+1/2'
143 'y+1/2, z, x+1/2'
144 'x+1/2, y, z+1/2'
145 'z+1/2, y+1/2, -x'
146 'y+1/2, x+1/2, -z'
147 'x+1/2, z+1/2, -y'
148 'z+1/2, x+1/2, -y'
149 'y+1/2, z+1/2, -x'
150 'x+1/2, y+1/2, -z'
151 'z+1/2, -y+1/2, x'
152 'y+1/2, -x+1/2, z'
153 'x+1/2, -z+1/2, y'
154 'z+1/2, -x+1/2, y'
155 'y+1/2, -z+1/2, x'
156 'x+1/2, -y+1/2, z'
157 '-z+1/2, y+1/2, x'
158 '-y+1/2, x+1/2, z'
159 '-x+1/2, z+1/2, y'
160 '-z+1/2, x+1/2, y'
161 '-y+1/2, z+1/2, x'
162 '-x+1/2, y+1/2, z'
163 '-z+1/2, -y+1/2, -x'
164 '-y+1/2, -x+1/2, -z'
165 '-x+1/2, -z+1/2, -y'
166 '-z+1/2, -x+1/2, -y'
167 '-y+1/2, -z+1/2, -x'
168 '-x+1/2, -y+1/2, -z'
169 '-z+1/2, -y+1/2, x'
170 '-y+1/2, -x+1/2, z'
171 '-x+1/2, -z+1/2, y'
172 '-z+1/2, -x+1/2, y'
173 '-y+1/2, -z+1/2, x'
174 '-x+1/2, -y+1/2, z'
175 '-z+1/2, y+1/2, -x'
176 '-y+1/2, x+1/2, -z'
177 '-x+1/2, z+1/2, -y'
178 '-z+1/2, x+1/2, -y'
179 '-y+1/2, z+1/2, -x'
180 '-x+1/2, y+1/2, -z'
181 'z+1/2, -y+1/2, -x'
182 'y+1/2, -x+1/2, -z'
183 'x+1/2, -z+1/2, -y'
184 'z+1/2, -x+1/2, -y'
185 'y+1/2, -z+1/2, -x'
186 'x+1/2, -y+1/2, -z'
187 'z+1/2, y+1/2, x'
188 'y+1/2, x+1/2, z'
189 'x+1/2, z+1/2, y'
190 'z+1/2, x+1/2, y'
191 'y+1/2, z+1/2, x'
192 'x+1/2, y+1/2, z'
loop_
_atom_type_symbol
_atom_type_oxidation_number
Ce4+ 4
O2- -2
loop_
_atom_site_label
_atom_site_type_symbol
_atom_site_symmetry_multiplicity
_atom_site_Wyckoff_symbol
_atom_site_fract_x
_atom_site_fract_y
_atom_site_fract_z
_atom_site_U_iso_or_equiv
_atom_site_occupancy
Ce1 Ce4+ 4 a 0 0 0 0.00078 1.
O1 O2- 8 c 0.25 0.25 0.25 0.005 1.
#End of TTdata_24887-ICSD
Loading
Loading