Skip to content

Commit 7ccf581

Browse files
authored
Improve background task handling (#116)
* introduce “task manager” to improve synchronization of data loading and reconstruction tasks; implement blocking option for diffraction data loading and reconstruction tasks * several breaking API changes: renamed scan -> probe positions based on user feedback, add option to disable diffraction pattern processing * implement reconstruction progress monitoring * fix bad pixels handling and add documentation for good/bad pixel masks * simplify behavior of crop center editing widgets * closing diffraction dataset clears visualization * rework stxm analysis dialog to stxm object builder * improve object fourier analysis dialog and promote from developer mode * extract globus integration from workflow module * rename ptychoshelves readers -> fold_slice readers; fix loss value loading * change default hdf5 file writer compression method to lzf * fix fresnel zone plate probe builder for rectangular probes * display current object and probe pixel sizes in GUI * remove tike integration * add convert-to-ptychodus script for translating prepared datasets to ptychodus file format * update ptychouds-bdp script and batch mode actions to use standard directory layout * standardize argument naming across scripts * add convert-to-ptychodus and ptychodus-bdp to project scripts
1 parent 7ccc7d0 commit 7ccf581

File tree

171 files changed

+3602
-4025
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

171 files changed

+3602
-4025
lines changed

README.rst

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
Ptychodus
22
=========
33

4-
`Ptychodus <https://github.com/AdvancedPhotonSource/ptychodus>`_
5-
is a ptychography data analysis application that reads instrument data,
6-
prepares the data for processing, and supports calling several reconstruction
7-
libraries for phase retrieval. Ptychodus can be used interactively or
8-
integrated into a data pipeline.
9-
4+
`Ptychodus <https://github.com/AdvancedPhotonSource/ptychodus>`_ is a
5+
ptychography data analysis application that extracts, loads, and transforms
6+
instrument data for processing. It integrates several reconstruction libraries
7+
for phase retrieval. Ptychodus can be used interactively or integrated into
8+
beamline data pipelines.
109

1110
Standard Installation
1211
---------------------

docs/source/readers.rst

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,16 @@ be happy to add file readers to support more ptychography instruments.
3535
- Ptychodus Product (*.h5, *.npz)
3636
- Space-Separated Values (*.txt)
3737
- Tagged Image File Format (*.tif, *.tiff)
38+
39+
Good/Bad Pixel Masks
40+
====================
41+
42+
Currently there are two numpy (NPY) file formats that can be used to indicate
43+
detector pixels that are usable ("good pixels") or unusable ("bad pixels") for
44+
processing. Both file types contain a 2-D boolean array with the same dimensions
45+
as an unprocessed detector frame. For the "good pixels" format, True indicates a
46+
usable pixel and False indicates an unusable pixel. For the "bad pixels" format,
47+
True indicates an unusable pixel and False indicates a usable pixel. When one of
48+
these files is provided, Ptychodus will zero bad pixels and provide the mask to
49+
processing algorithms that support pixel masks. When one of these files is not
50+
provided, Ptychodus assumes that all pixels should be used for processing.

globus.svg

Lines changed: 35 additions & 0 deletions
Loading

pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "ptychodus"
7-
description = "Ptychodus is a ptychography data analysis application."
7+
description = "Ptychodus is a ptychography data pipeline application."
88
readme = "README.rst"
99
requires-python = ">=3.10"
1010
license = "BSD-3-Clause"
@@ -25,13 +25,14 @@ dependencies = [
2525
dynamic = ["version"]
2626

2727
[project.scripts]
28+
convert-to-ptychodus = "ptychodus.convert_to_ptychodus:main"
2829
ptychodus = "ptychodus.__main__:main"
30+
ptychodus-bdp = "ptychodus.ptychodus_bdp:main"
2931

3032
[project.optional-dependencies]
3133
globus = ["gladier", "gladier-tools>=0.5.4"]
3234
gui = ["PyQt5"]
3335
ptychonn = ["ptychonn==0.3.*,>=0.3.7"]
34-
tike = ["tike==0.25.*,>=0.25.3"]
3536
ptychi = ["ptychi==1.*,>=1.2.0"]
3637

3738
[tool.setuptools.package-data]
@@ -59,7 +60,6 @@ module = [
5960
"pvapy.*",
6061
"scipy.*",
6162
"tifffile",
62-
"tike.*",
6363
]
6464
ignore_missing_imports = true
6565

0 commit comments

Comments
 (0)