skyview.process.imagefinder
Class RecursiveImageFinder

java.lang.Object
  extended by skyview.process.ImageFinder
      extended by skyview.process.imagefinder.RecursiveImageFinder

public class RecursiveImageFinder
extends ImageFinder

This class finds the best images to be used for sampling using a recursive rectangle algorithm.


Constructor Summary
RecursiveImageFinder()
           
 
Method Summary
 int[] findImages(Image[] input, Image output)
          Find the best image for each output pixel.
 void setStrict(boolean flag)
          Set a strict geometry.
 
Methods inherited from class skyview.process.ImageFinder
factory
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RecursiveImageFinder

public RecursiveImageFinder()
Method Detail

findImages

public int[] findImages(Image[] input,
                        Image output)
Find the best image for each output pixel.

Specified by:
findImages in class ImageFinder
Parameters:
input - An array of images from which the output image is to be interpolated.
output - An output image to be generated from the input. This method does not change the output image.
Returns:
An index array which for each pixel in the output image gives the best image to sample. Note that this has dimension int[nx*ny] where nx changes most rapidly. The values of the index array can be:
  • >= 0: The pixel is best indexed with the given image.
  • -1: [internal] The best image for this pixel has not yet been determined.
  • -2: This pixel is not on any of the input images.
  • -3: This pixel does not represent a physical coordinate.
  • -4: [in other methods] this pixel has already been processed.

setStrict

public void setStrict(boolean flag)
Set a strict geometry. If a strict geometry is requested in this class, the best image for each pixel will be determined rather than assuming that a rectangle with the same best image at each corner has the same best pixel in the interior.

This was seen to be necessary in rotated CSC projections, but otherwise does not seem to be an issue.

Note that even though each pixel will be checked, the recursive approach may still be useful, since the number of images checked at each level in the recursion will be reduced.

Overrides:
setStrict in class ImageFinder