Horus Doc || C++ Reference || Class Overview   Pixels   Images   Detector   Geometry   Registry || Doxygen's quick Index  

HxTriStateThreshold.h File Reference

More...

#include "HxImageRep.h"

Go to the source code of this file.

Functions

HxImageRep L_HXIMAGEREP HxTriStateThreshold (HxImageRep im, HxValue level, HxValue v1, HxValue v2, HxValue v3)
 Tri state threshold. More...


Detailed Description


Function Documentation

HxImageRep L_HXIMAGEREP HxTriStateThreshold HxImageRep    im,
HxValue    level,
HxValue    v1,
HxValue    v2,
HxValue    v3
 

Tri state threshold.

The function computes the tri state threshold of all pixels in the input image via a unary pixel operation.

Implementation specifics : The pixel functor : HxUpoTriStateThreshold. The image functor instantiator : HxInstantiatorTriStateThreshold.

00131 {
00132     HxString fname("HxTriStateThreshold");
00133 
00134     if (im.isNull())
00135     {
00136         HxGlobalError::instance()->reportError(fname, im.name(), "null image", HxGlobalError::HX_GE_INVALID);
00137         return HxImageRep();
00138     }
00139 
00140     if (im.pixelDimensionality() == 1)
00141     {
00142         if ((level.tag() != HxValue::SI) && (level.tag() != HxValue::SD))
00143         {
00144             HxGlobalError::instance()->reportError(fname, im.name(), "level is of wrong value type", HxGlobalError::HX_GE_INVALID);
00145         }
00146     }
00147     if (im.pixelDimensionality() == 2)
00148     {
00149         if ((level.tag() != HxValue::V2I) && (level.tag() != HxValue::V2D) 
00150                                             && (level.tag() != HxValue::CPL))
00151         {
00152             HxGlobalError::instance()->reportError(fname, im.name(), "level is of wrong value type", HxGlobalError::HX_GE_INVALID);
00153         }
00154     }
00155     if (im.pixelDimensionality() == 3)
00156     {
00157         if ((level.tag() != HxValue::V3I) && (level.tag() != HxValue::V3D))
00158         {
00159             HxGlobalError::instance()->reportError(fname, im.name(), "level is of wrong value type", HxGlobalError::HX_GE_INVALID);
00160         }
00161     }
00162 
00163     // Put all non-image parameters in a TagList
00164     HxTagList tags;
00165     HxAddTag(tags, "level", level);
00166     HxAddTag(tags, "v1", v1);
00167     HxAddTag(tags, "v2", v2);
00168     HxAddTag(tags, "v3", v3);
00169 
00170     // call HxImageRep member function to do the image processing
00171     return im.unaryPixOp("triStateThreshold", tags);
00172 }


Generated on Tue Feb 3 14:18:51 2004 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001