I’d like to use the AxisArray structure in my program for processing a series of images aquired by a microscope. The images in the stack are tiles of larger area with some overlap. Each image has the same properties but XY coordinates shifted by an offset. I thought to add a third dimension Axis{:tile}(1:n), and overload indexing such that each XY view has it own intervals on the XY (with the offset of the tile center).
My question is, is it possible to have separate XY axis on each :tile cut on the standard AxisArray type?
If not, what would be the simplest way to extend the AxisArray type so I could add an array representing the offsets of the center, overload the interval indexing but otherwise reuse all the great functionality AxisArray type provides? ( i know I’m asking for inheritance that is not the right julian way). Does anybodyhave an idea on how to achieve this?
Thank you for the advice
I think tiled arrays are a separate kind of object: you want them to have indexing rules that allow you to pretend they are one gigantic array, but also allow addressing individual tiles when that would be more efficient. Should be a package on its own.
The good news is that you can build such a type on top of the internal functionality in AxisArrays for providing Axis
objects; so while you may not be using inheritance for everything, you can leverage the machinery that supports AxisArrays, and that’s probably better in the end anyway.