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 <[email protected]>
- 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 <[email protected]>
We can load all of these in as separate arrays.

Signed-off-by: Patrick Avery <[email protected]>
This gives some nice template stuff.

Signed-off-by: Patrick Avery <[email protected]>
This allows one to put a conditional enable/visibility connection
on widgets defined in JSON files.

Signed-off-by: Patrick Avery <[email protected]>
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 <[email protected]>
pyfftw requires these arrays to be contiguous. This fixes the issue.

Signed-off-by: Patrick Avery <[email protected]>
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 <[email protected]>
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 <[email protected]>
This just helps us ensure we don't seg fault...

Signed-off-by: Patrick Avery <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
Signed-off-by: Patrick Avery <[email protected]>
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 <[email protected]>
`np.lib.pad` no longer exists and we need to use `np.pad` instead.

Signed-off-by: Patrick Avery <[email protected]>
Signed-off-by: Patrick Avery <[email protected]>
This avoids a name conflict with "operator.py" in the Python
"collections" library.

Signed-off-by: Patrick Avery <[email protected]>
This calls the external pyxrf-utils to do so.

Signed-off-by: Patrick Avery <[email protected]>
Don't redefine this macro if it already exists...

Signed-off-by: Patrick Avery <[email protected]>
This had some compile warnings, but it is completely unused. We can just
remove it.

Signed-off-by: Patrick Avery <[email protected]>
This allows numpy-like syntax to be used to filter out scan IDs.

Signed-off-by: Patrick Avery <[email protected]>
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 <[email protected]>
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 <[email protected]>
We check the position of the dataset and use that.

Signed-off-by: Patrick Avery <[email protected]>
Signed-off-by: Patrick Avery <[email protected]>
This also takes into account differences in pixel sizes when
applying transformations.

Signed-off-by: Patrick Avery <[email protected]>
This has greater stability. The previous setup could lead to deadlocks.

Signed-off-by: Patrick Avery <[email protected]>
Signed-off-by: Patrick Avery <[email protected]>
This takes into account the new process infrastructure.

Signed-off-by: Patrick Avery <[email protected]>
This fixes the errors that were occurring on loading the Python console.

Signed-off-by: Patrick Avery <[email protected]>
This required setting the output from each run on the final
child data source.

Signed-off-by: Patrick Avery <[email protected]>
Signed-off-by: Patrick Avery <[email protected]>
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 <[email protected]>
This verifies the multi-array operations work properly.

Signed-off-by: Patrick Avery <[email protected]>
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 <[email protected]>
It was using random numbers for initial state. We added a seed to make
this deterministic.

Signed-off-by: Patrick Avery <[email protected]>
@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.

3 participants