Skip to content

Conversation

@psavery
Copy link
Owner

@psavery psavery commented Nov 20, 2025

No description provided.

celiafish and others added 30 commits October 23, 2025 15:59
- Add pixi toml file
- Add pixi lock file
Co-authored-by: Padraic Shafer <76011594+padraic-shafer@users.noreply.github.com>
- remove authors
- update description
- add a dev environment for testing, linting, and documentation
This makes it easier to use pdb within operators. Otherwise, it will
always complain when you use any spaces. This happens because VTK has
its own stdin/stdout that it uses with Python.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
We can load all of these in as separate arrays.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This gives some nice template stuff.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This allows one to put a conditional enable/visibility connection
on widgets defined in JSON files.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This is probably harmless most of the time, unless the data is massive.
But it's annoying when it appears for every single array in a dataset.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
pyfftw requires these arrays to be contiguous. This fixes the issue.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
I had a segmentation fault one time where `unitsModified()` was called.
The only possible cause I can see is if the `newChildDataSource` was
deleted before it was called.

One way to fix it is to add `newChildDataSource` as a context object,
so that the offending signal will be disconnected if `newChildDataSource`
is destroyed. That is what is done here.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This allows us to specify in the operator definition if we want to
apply the transformation to each arrays, one at a time.

It currently only works with internal datasets.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This just helps us ensure we don't seg fault...

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This fixes an issue where old values for combo boxes and paths were
not remembered. The default system is currently being used for setting
these, so we just needed to make sure the default system worked properly.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This adds a multi-array aware image alignment operator that uses
PyStackReg.

By default, the operator uses a reference of the currently
selected slice index, if a slice module is present.

This has the capability to save/load transformation matrices.
Translation transformation matrices can also be applied to images
of different resolution.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
The `data` should definitely be present, but the others might not be.

This fixes an error if the others are missing.

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>
C++20 was causing issues with pybind11 (in its use of tbb).

We don't need the C++20 stuff so just switch back to C++17.

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>
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
`np.lib.pad` no longer exists and we need to use `np.pad` instead.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This avoids a name conflict with "operator.py" in the Python
"collections" library.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This calls the external pyxrf-utils to do so.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Don't redefine this macro if it already exists...

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This had some compile warnings, but it is completely unused. We can just
remove it.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This allows numpy-like syntax to be used to filter out scan IDs.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
I think this should fix the issue where, after an operator is
applied, a module could end up with a different view.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Some improper book-keeping resulted in invalid data sources being
kept around. Add some cleanup so we can hopefully avoid any crashes
related to this improper book-keeping.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
We check the position of the dataset and use that.

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>
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This also takes into account differences in pixel sizes when
applying transformations.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This has greater stability. The previous setup could lead to deadlocks.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This takes into account the new process infrastructure.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This fixes the errors that were occurring on loading the Python console.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This required setting the output from each run on the final
child data source.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
It's much better to show nothing than to have a seg fault. This only
seems to happen during live updates anyways, where it is not as important.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
This verifies the multi-array operations work properly.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Previously, it wouldn't allow the user to proceed if there were
duplicate angles. Now it does, but a warning appears instead.

Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
It was using random numbers for initial state. We added a seed to make
this deterministic.

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>
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
@psavery psavery merged commit ad6f644 into master Dec 8, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants