I began from my earlier two-dimensional code and made the obvious extensions to three dimensions. For example, converting subroutine icaf2() to the 3-D version icaf3() gives a subroutine that convolves a volume over a volume to get a volume. When we need a 2-D filter, we pick a3=1 and with it, subroutine icaf3() convolves the planar filter throughout the input volume and thus gives an output volume. When we want a monoplane filter orthogonally oriented, we take a2=1 but a3=2.
To put the LOcal in LOMOPLAN we use subcubes (bricks). Recall that we can do 2-D LOMOPLAN with the prediction-error subroutine lopef2() . To do 3-D LOMOPLAN we need to make two calls to subroutine lopef3(), one for the x-axis in-line planar filters and one for the y-axis crossline filters. That is what I will try next time I install this book on a computer with a bigger memory.