00001
00002
00003
00004
00005
00006
00007 #include "ColorConstants.h"
00008 #include "ColorFilterStrategyIntensity.h"
00009 #include <QColor>
00010 #include <qmath.h>
00011
00012 ColorFilterStrategyIntensity::ColorFilterStrategyIntensity ()
00013 {
00014 }
00015
00016 ColorFilterStrategyIntensity::~ColorFilterStrategyIntensity ()
00017 {
00018 }
00019
00020 double ColorFilterStrategyIntensity::pixelToZeroToOne (const QColor &pixel,
00021 QRgb ) const
00022 {
00023 double distance = qSqrt (pow ((double) pixel.red(), 2) +
00024 pow ((double) pixel.green(), 2) +
00025 pow ((double) pixel.blue(), 2));
00026 return distance / qSqrt (255.0 * 255.0 + 255.0 * 255.0 + 255.0 * 255.0);
00027 }
00028
00029 int ColorFilterStrategyIntensity::zeroToOneToValue (double s) const
00030 {
00031 return INTENSITY_MIN + s * (INTENSITY_MAX - INTENSITY_MIN);
00032 }