net.grelf.grip
Interface Accumulator

All Superinterfaces:
Image
All Known Implementing Classes:
Accumulator32, Accumulator64

public interface Accumulator
extends Image

For adding or averaging images or for holding them in a format that is not provided by `* java.awt.image.BufferedImage (eg, floating-point pixel values).
NB: The layout of the data is very important: bear in mind that every sub-array has an overhead of 12 bytes.
11.11.3: Non warp/shift methods removed to new base interface, Image.


Method Summary
 void addWithStarBoost(Image8or16Base image, int starBoostFactor)
          For accumulating star trails.
 boolean averageShiftAccumulate(Image8or16Base image, int imNo, int middleImNo, java.util.List<MatchPair> matches, BlobMeas[][] lookup, int nBrightest)
          For image imNo of a sequence, add the pixel values into the accumulator but first shift the image so that matched point pairs are superimposed.
 boolean brightestShiftAccumulate(Image8or16Base image, int imNo, int middleImNo, java.util.List<PointFloat> centres)
          For image imNo of a sequence, add the pixel values into the accumulator but first shift the image so that brightest objects in this image and the middle image of the sequence are superimposed.
9.11.26: changed last parameter from BlobMeas [][] lookup.
 boolean warpAccumulate(Image8or16Base image, int imNo, int middleImNo, java.util.List<MatchPair> matches, BlobMeas[][] lookup, int nBrightest)
          For image imNo of a sequence, add the pixel values into the accumulator but first distort the image so that matched point pairs are superimposed.
 
Methods inherited from interface net.grelf.image.Image
add, add, add, add, add, applyCurve, autoCrop, autoStretch, autoStretch, autoThreshold, averageVertically, averageVertically, blurGaussian, clone, convertToImage16, convertToImage32, convertToImage64, convertToImage8, convertToMonochrome, convertToMonochrome, convolve, convolve, correctBackground, crop, deconvolve, dispose, divide, divideByFlatField, drawRim, fit, flipHorizontal, flipVertical, getBitsPerChannel, getCalibration, getChannelRanges, getChannelRangesDouble, getFilePath, getHeight, getImageTypeAsString, getMetadata, getNBands, getPixel, getPixelDouble, getPixelDoubleInterpolated, getPixelInterpolated, getRange, getRangeByRescanning, getRangeByRescanningDouble, getRangeDouble, getWidth, gnomonicProjection, inverseGnomonicProjection, invert, isRaw, meanFilter, medianFilter, multiply, multiply, multiply, nearestExtremeFilter, neutraliseBackground, rankFilter, reapplyColour, rotate, save, save, save, saveAsFITS, scale, scaleDownForDisplay, set, setCalibration, setFilePath, setMetadata, setPixel, setPixel, setPixelDouble, setPixelDouble, splitChannels, subtract, subtractToZero, threshold, toString, translate, translate, varianceFilter
 

Method Detail

brightestShiftAccumulate

boolean brightestShiftAccumulate(Image8or16Base image,
                                 int imNo,
                                 int middleImNo,
                                 java.util.List<PointFloat> centres)
                                 throws IncompatibleImageException
For image imNo of a sequence, add the pixel values into the accumulator but first shift the image so that brightest objects in this image and the middle image of the sequence are superimposed.
9.11.26: changed last parameter from BlobMeas [][] lookup. The reason for this is that when matching on single bright objects we may mean the moon, nearly filling the image, in which case we would run out of memory if holding all details of that for every image in a sequence.

Throws:
IncompatibleImageException

averageShiftAccumulate

boolean averageShiftAccumulate(Image8or16Base image,
                               int imNo,
                               int middleImNo,
                               java.util.List<MatchPair> matches,
                               BlobMeas[][] lookup,
                               int nBrightest)
                               throws IncompatibleImageException
For image imNo of a sequence, add the pixel values into the accumulator but first shift the image so that matched point pairs are superimposed. Use the average translation vector from all matched objects.

Throws:
IncompatibleImageException

warpAccumulate

boolean warpAccumulate(Image8or16Base image,
                       int imNo,
                       int middleImNo,
                       java.util.List<MatchPair> matches,
                       BlobMeas[][] lookup,
                       int nBrightest)
                       throws IncompatibleImageException
For image imNo of a sequence, add the pixel values into the accumulator but first distort the image so that matched point pairs are superimposed. Return false if not able to warp the image.

Throws:
IncompatibleImageException

addWithStarBoost

void addWithStarBoost(Image8or16Base image,
                      int starBoostFactor)
                      throws IncompatibleImageException
For accumulating star trails. The starBoostFactor should be something like the number of images being accumulated.

Throws:
IncompatibleImageException