how to preserve transform of full resolution image

I have a group of rgb tiff images that have been registered using low resolution tiles, I want to apply the transform to each tiff image save the image back to a new tiff file but with the full resolution and tiles etc, so that when I go to build an image volume I can decide then what resolution I want.

right I am using tifffile python to read the tiled image which lets me choose which tile/resolution I want for the registration piece, but maybe there is a better way to do this for the application of the transforms?

I can resample the rgb with the transform but am limited to the single resolution that I choose at load time

If your lower resolution tiles have appropriately larger pixel spacing, the transforms can remain the same. This is because ITK applies transforms (and does registration) in physical space, not index space.

2 Likes

I believe that’s what I am trying to do but am not sure I can wrap my head around it.

Can I apply resampling in a way that converts every resolution the same or do I simply resample the highest transformed resolution image and saved it in tiled format. is anything lost?

-Kurt

This sounds like it would lead to least loss of information.

But you should be able to resample different resolutions with little change. Pseudocode:

set up transforms, resample filter etc.

for r in resolutions
  power2=2**r
  resampleFilter.SetInput("path"+r+".png")
  resampleFilter.SetTargetSpacing(originalSpacing*power2)
  resampleFilter.SetTargetSize(originalSpacing/power2)
  resampleFilter.execute
  writeImage(resampleFilter.output)
1 Like