Per-Object Scatter Correction Filter
The per-object scatter correction filter performs a multiplicative scatter correction on an object basis.
Category |
|
Node |
|
Parameters |
(None): |
Inputs |
Objects: a list of objects as generated from an object detection filter Input Pixels: the input pixel data that should be used to determine the uniformity |
Outputs |
Correction: the mean spectrum of the object after applying the multiplicative scatter correction to the object’s spectra |
Effect of the Filter
The filter takes two inputs: an object list (typically directly from an object detection filter), and a image-based pixel input. The pixel input must have the same image structure that the image has the objects were initially detected on.
It will perform a standard multiplicative scatter correction algorithm on all spectra that are part of the object. After this correction it will then output the average of those corrected spectra.
Illustration with Artificial Data
Take the following input data for the object detector:
The detector would generate the following list of objects:
If the pixel input for the object is given by the following list of spectra:
Then the per-object scatter correction filter will return the following average spectra for the objects:
Handling of Training Data
In some cases it might be useful to use classifiers (or other algorithms that require training) on per-object data, such as the corrected averages produced by this filter. But labels are assigned to individual pixels in fluxTrainer; and the spectra for individual objects will not have any group labels assigned to them.
In order to still allow for training of classifiers based on per-object operations, the per-object scatter correction filter will generate an internal (hidden) data set that has a single entry per group. It will perform the multiplicative scatter correction on all pixels for each group that were provided in the second input, and add the averages of those corrected spectra to the internal (hidden) data set labelled for the corresponding groups.
It is hence possible to use e.g. a Distance Classifier Filter or a Partial Least Squares Regression after a per-object scatter correction filter.
Note though that there will only be one spectrum per group in the internal data set, so any classifier after this cannot work in a mode that requires multiple spectra per group.
Sequenced Operations (Line Cameras)
The object processing filter also works with line cameras (or in the case of hyperspectral cameras, Push Brooms). The processing framework will automatically keep enough of the input pixel data round in memory that once the line gets processed that causes the object detector to output the object, the pixels that belonged to the object remain accessible to this filter.