Attempt at generalizing dimensionality. Everything is considered/reshaped to 3D, which simplifies a lot of logic for depiction and slicing, especially for supporting additional non-spatial dimensions.
As an example for the benefits of this, I added a function that stacks all the particleblocks in each volume of a dataset into per-volume particleblocks with an extra dimension.
Try opening all the iterations of a relion refinement, and then stacking that datablock with this function.
Attempt at generalizing dimensionality. Everything is considered/reshaped to 3D, which simplifies a lot of logic for depiction and slicing, especially for supporting additional non-spatial dimensions.
As an example for the benefits of this, I added a function that stacks all the particleblocks in each volume of a dataset into per-volume particleblocks with an extra dimension. Try opening all the iterations of a relion refinement, and then stacking that datablock with this function.