equalizer - error for files with no overlap
equalizer can reuse previously calculated statistics when there are non-overlapping images instead of needing to calculate all image statistics again. OverlapStatistics, MultivariateStaistics, and Statistics now have pvl serialization/unserialization methods
External post: Brett Devenvi (Messenger team member)
I'm trying to test out equalizer on a few huge sets of images, so it takes a very long time to run. What I've run in to several times now is that after gathering the overlap statistics for hundreds of images, if there are a few images that don't overlap with the others (say, 10 out of 800), equalizer outputs an error that those 10 images have no overlap, and then stops. In one case the program did several days worth of calculations, but gave no output other than the error. It would be quite nice if equalizer could be updated to let you know about the images with no overlap, but still output the statistics for the others. Or if you have other suggestions, I'd love to hear them.
#7 Updated by Ian Humphrey over 2 years ago
I haven't set this ticket to Resolved yet, as I still need to finish the application documentation and API documentation for the changed classes. However, I think now would be a good time to get some user feedback on the new changes to equalizer.
Two new parameters, RETRYBOTH and RECALCULATE (names can be easily changed if need be), have been added to allow recalculation of image statistics using previously calculated image statistics (instead of needing to always calculate all image statistics from scratch).
RETRYBOTH will recalculate image statistics and then apply correction if corrective factors were successfully determined. An error message will indicate to the user that corrective factors have not yet been determined and inform the user to recalculate the image statistics after fixing any non-overlapping images.
Non-overlapping images can be fixed by either:
Adding images to the input image list that overlap the non-overlapping images as well as at least one already overlapping image¶
Or, removing the non-overlapping images from the input image list¶
* User provides an input image list where one (or more) image doesn't overlap any of the other images.
* User runs
equalizer fromlist=images.lis outstats=image_stats.pvl process=both
* Image statistics are calculated for all of the images and overlaps, these statistics are written to image_stats.pvl.
* User gets and error message indicating that corrective factors have not been determined (because of non-overlapping images).
* User then modifies the input image list, images.lis, by adding a new image (or images) that remedies the previously non-overlapping image (or images).
* The user runs
equalizer fromlist=images.lis instats=image_stats.pvl outstats=image_stats.pvl process=recalculate
* Statistics are recalculated for new overlapping image pairs.
* Since all the images overlap, corrective factors are now determined.
* User then applies correction by running
equalizer fromlist=images.lis instats=image_stats.pvl process=apply
equalizer has been built on prog6 at
#10 Updated by Tammy Becker over 2 years ago
- Status changed from Resolved to Closed
The most recent "user error" when an image does not overlap works well. I especially like the message to the user to refer to the NonOverlaps keyword in the output statistics file.
Good job Ian! I know this fix was a big deal.