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.
Before submitting a pull request (PR), please read the contributing guide.
Description
What is this PR
Why is this PR needed?
fixes a problem when intersecting some planes with the atlases.
The following code crashes without this PR:
What does this PR do?
Instead of using a mesh as a plane, this PR uses a proper infinite plane for slicing the atlas. This effectively bypasses an open issue of vtk regarding the intersection of two meshes. See: https://discourse.vtk.org/t/vtkintersectionpolydatafilter-crashing/9428
As a bonus it is conceptually a "better" way to represent the planes.
In order to do so, I had to use a vtk function by backporting a binding from
vedo=2023.4.6
.References
#11
How has this PR been tested?
I ran all examples from this repository + extensive usage in my work project.
Additionally, I made sure every combination of
(frontal, horizontal, sagittal)
orientations and(allen_cord_20um_v1.0, allen_mouse_25um_v1.2, mpin_zfish_1um_v1.0)
altases had their plane's normal vector as well asu
andv
(x
andy
in 2D projections, respectively) in the correct direction by using the modifiedplanner
.Is this a breaking change?
No, it should keep all the previous APIs and functionalities.
Does this PR require an update to the documentation?
No
Checklist: