Merged
Conversation
12bfbce to
f2d195a
Compare
psavery
pushed a commit
that referenced
this pull request
Feb 17, 2026
Search for several different ptycho files
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Otherwise, it is too long and you sometimes can't close it. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This adds the decorator `@apply_to_each_array` automatically to every transform function, unless explicitly instructed not to in the JSON description file via `"apply_to_each_array": false`. This is being done because nearly every operator in the codebase needs this decorator, and it is tedious to have to remember it every time. It is not added automatically if it is already present on an operator. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
They are no longer needed, as it is applied automatically. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This fixes a few issues the tests identified with the automatic decoration. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Alessandro Genova <alessandro.genova@kitware.com>
Signed-off-by: Alessandro Genova <alessandro.genova@kitware.com>
Signed-off-by: Alessandro Genova <alessandro.genova@kitware.com>
This adds support for scan IDs in the following places: 1. The DataSource class 2. The DataPropertiesPanel (if present, they are displayed with the tilt angles) 3. EMD files (they are written in `/data/tomography/scan_ids`) 4. In operators (`dataset.scan_ids`) The scan IDs are automatically read from the PyXRF and Ptycho workflows and saved on the Data Source. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Alessandro Genova <alessandro.genova@kitware.com>
The pixel size name changed recently. We need to support both the old version and the new version. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This gets the PyXRF dialogs to automatically locate `pyxrf-utils` executables in some standard paths, starting with the last one that the user selected. It will set it automatically if it exists. If it does not exist, the user will be forced to pick one. The validation error is significantly easier to read than the previous error that would be encountered. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This is now a generic operator for shifting the rotation center. You generate a set of reconstructions from a single slice with a set of test rotation centerss and are able to view each one, and determine which rotation center produces the best reconstruction. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This prevents the operator dialog from just appearing randomly on other monitors or in random places on the desktop window. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Alessandro Genova <alessandro.genova@kitware.com>
Verify it is available to set before using it. Otherwise, we get a warning. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
It can now perform other reconstruction operations, such as mlem. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
These are not necessarily places we have encountered seg faults, but places we *could* potentially encounter them (and it's possible they have caused segmentation faults in the past). Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
When we tried to operate on a non-existing ptycho directory, it would cause major issues, including a crash. Make sure the ptycho directory exists before we do anything else. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Alessandro Genova <alessandro.genova@kitware.com>
This is now part of the "Set Tilt Angles" dialog. If a file is used that contains scan IDs, the column will be added automatically. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
The function pointer is the new, preferred way of doing Qt signal/slot connections. We couldn't update the ones used by VTK/ParaView since they still require the old format. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Look at the return value. Fixes this warning:
tomviz/tomviz/ColorMap.cxx:192:12: warning: ignoring return value of 'virtual bool QFile::open(QIODeviceBase::OpenMode)', declared with attribute 'nodiscard' [-Wunused-result]
192 | file.open(QIODevice::ReadOnly);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This also fixes a crash that was encountered. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This automatically creates or selects the relevent view for a given visualization module, so that one does not have to do so manually. Take plots as an example. Here's how it works: 1. A plot "OperatorResult" must be selected from the pipeline 2. The "Plot" module is then enabled, and the user can click it 3. If there are no "Line Chart View"s available, it asks the user if one should be created automatically. If "Yes", it is split horizontally and created. 4. If there is exactly one "Line Chart View" available, the plot module gets added to that view automatically. 5. If there is more than one "Line Chart View" available, a dialog appears asking the user to select which view they want to add it to. The example above is for line chart views, but this logic is actually now in place for any visualization module type. For example, for any visualization modules that use render views (most of them, such as contours, volumes, etc.), the same logic applies. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This keeps them from appearing on a different monitor... Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This is for saving out tilt angles to a file. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This is to reflect the expected BNL position. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This fixes some issues that would occur when deleting an operator before a child data source. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This ensures that the correct error message will be printed. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Alessandro Genova <alessandro.genova@kitware.com>
add the deconvolution denoise operator
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This is the better choice when performing bm3d deconvolution. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This also tests the similarity metrics code. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
If scalars were removed in an earlier operator, this ensures that only the available scalars from the downstream output will be displayed as options in `select_scalars`. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
It shouldn't be used on volumes. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
We'll let the user decide what the max should be, rather than cap it at 16. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
The previous cancellation setup did not actually stop the operator from running. Now, the operator actually stops. This prevents a crash that would happen if you tried to run a bm3d denoise operator again, while the previous one was running. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.