[vtk-developers] vtkImageData, C versus Fortran ordering
David Thompson
david.thompson at kitware.com
Wed Jul 19 12:35:42 EDT 2017
Hi Marcus,
> We work on Tomviz, and one of its primary goals is to work with volumes in an intuitive way making heavy use of the volume rendering code. It also needs to interact with several libraries that operate on volumes, ideally using our Python NumPy integration and zero copy approaches to process data in place.
>
> One of the challenges has been preserving the Fortran ordering of the single component scalar data. We will also be adding support for multi-component data soon. What are people's thoughts on potentially adding some API to vtkImageData to mark it as C ordered?
>
> That would largely just geometrically transform how the volume is rendered, but ensure a contour is correctly extracted and aligned. It would then let us use the default C ordering, simplifying our application code, and the current order could remain the default. I would suggest considering the same for the vtk.js work too.
>
> It is feasible to make these changes in the application logic too, but this feels like a fairly common problem that others would also hit from time to time. Maybe I am missing more corner cases, so I am posting this in hopes of feedback before writing any code (or asking someone else to).
I think a common problem would be that many image filters choose a particular order to process data because access is much faster in one plane than others. Are you thinking that those filters would also adjust their algorithms/traverse order to accommodate FORTRAN ordering when it is present on the input (and presumably output)?
David
More information about the vtk-developers
mailing list