Text archives Help
- From: sparker@sci.utah.edu
- To: manta@sci.utah.edu
- Subject: [MANTA] r1375 - trunk/Engine/ImageTraversers
- Date: Tue, 8 May 2007 20:59:09 -0600 (MDT)
Author: sparker
Date: Tue May 8 20:59:08 2007
New Revision: 1375
Modified:
trunk/Engine/ImageTraversers/DeadlineImageTraverser.cc
trunk/Engine/ImageTraversers/DeadlineImageTraverser.h
Log:
Added Pete's contrast metric
Modified: trunk/Engine/ImageTraversers/DeadlineImageTraverser.cc
==============================================================================
--- trunk/Engine/ImageTraversers/DeadlineImageTraverser.cc (original)
+++ trunk/Engine/ImageTraversers/DeadlineImageTraverser.cc Tue May 8
20:59:08 2007
@@ -95,6 +95,8 @@
priority = FIFO;
else if(priorityString == "luminancevariance")
priority = LuminanceVariance;
+ else if(priorityString == "contrast")
+ priority = Contrast;
else
throw IllegalArgument("DeadlineImageTraverser -priority, bad
priority", i, args);
} else if(arg == "-refinmentRatio"){
@@ -401,8 +403,8 @@
void DeadlineImageTraverser::computePriority(Tile* tile, const Fragment&
frag) const
{
if(priority == LuminanceVariance){
- double sum;
- double sum2;
+ double sum = 0;
+ double sum2 = 0;
for(int i=frag.begin();i<frag.end();i++){
Color::ComponentType luminance = frag.getColor(i).luminance();
sum += luminance;
@@ -411,6 +413,17 @@
int n = frag.end()-frag.begin();
Color::ComponentType variance = (sum2 - sum * sum/n)/(n-1);
tile->priority = variance * tile->xmag * tile->ymag;
+ } else if(priority == Contrast){
+ Color::ComponentType min, max;
+ min = max = frag.getColor(frag.begin()).luminance();
+ for(int i=frag.begin()+1;i<frag.end();i++){
+ Color::ComponentType luminance = frag.getColor(i).luminance();
+ if(luminance < min)
+ min = luminance;
+ if(luminance > max)
+ max = luminance;
+ }
+ tile->priority = (max-min)/(max+min) * tile->xmag * tile->ymag ;
} else {
tile->priority = tile->xmag * tile->ymag;
}
Modified: trunk/Engine/ImageTraversers/DeadlineImageTraverser.h
==============================================================================
--- trunk/Engine/ImageTraversers/DeadlineImageTraverser.h (original)
+++ trunk/Engine/ImageTraversers/DeadlineImageTraverser.h Tue May 8
20:59:08 2007
@@ -87,7 +87,7 @@
int top_tiles;
enum PriorityScheme {
- FIFO, LuminanceVariance
+ FIFO, LuminanceVariance, Contrast
};
PriorityScheme priority;
- [MANTA] r1375 - trunk/Engine/ImageTraversers, sparker, 05/08/2007
Archive powered by MHonArc 2.6.16.