OptIPortal/ImageCompositing

Compositing Large Images

Some notes to myself on using VIPS to assemble sections of an image.

Plot the Dataset

This use the stupid (fast, low-memory) projector plotter.

for i in RD0036.L7.*h5
do
  ~/Projects/rpwagner/projects/projplot/plot-projection Density $i
done

Convert to 8-bit

PNGwriter output in 16-bit, so we need to make things 8-bit.

for i in RD0036.L7.*h5.png
do
  convert -depth 8 $i `basename $i .png`.8.png
done

Convert to Vips

for i in RD0036.L7.*h5.8.png
do
  vips im_png2vips $i `basename $i .png`.v
done

Merge

for ((i=0; i < 4; i++))
do
  vips im_tbjoin RD0036.L7.$i.1.0-0.25.proj.h5.8.v RD0036.L7.$i.0.0-0.25.proj.h5.8.v RD0036.L7.bottom.$i.v
done

for ((i=0; i < 4; i++))
do
  vips im_tbjoin RD0036.L7.$i.3.0-0.25.proj.h5.8.v RD0036.L7.$i.2.0-0.25.proj.h5.8.v RD0036.L7.top.$i.v
done

for ((i=0; i < 4; i++))
do
  vips im_tbjoin RD0036.L7.top.$i.v RD0036.L7.bottom.$i.v RD0036.L7.$i.v
done

vips im_lrjoin RD0036.L7.0.v RD0036.L7.1.v RD0036.L7.left.v
vips im_lrjoin RD0036.L7.2.v RD0036.L7.3.v RD0036.L7.right.v
vips im_lrjoin RD0036.L7.left.v RD0036.L7.right.v RD0036.L7.v

Convert to Pyramidal TIFF

vips im_vips2tiff RD0036.L7.v RD0036.L7.tif:deflate,tile:512x512,pyramid