#include "HxImageRep.h"
Go to the source code of this file.
Functions | |
HxImageRep L_HXIMAGEREP | HxLeftShiftVal (HxImageRep im, HxValue val) |
Left shift. More... |
|
Left shift. The function performs left shift (see Pixels) on all pixels in the input image via a binary pixel operation (see Images). Implementation specifics : The pixel functor : HxBpoLeftShift. The image functor instantiator : HxInstantiatorLeftShiftV.
00013 { 00014 HxString fname("HxLeftShiftVal"); 00015 00016 if (im.isNull()) 00017 { 00018 HxGlobalError::instance()->reportError(fname, im.name(), "null image", HxGlobalError::HX_GE_INVALID); 00019 return HxImageRep(); 00020 } 00021 00022 if (im.signature().pixelDimensionality() != 1) 00023 { 00024 HxGlobalError::instance()->reportError(fname, "logical operators are only valid for scalar images", HxGlobalError::HX_GE_INVALID); 00025 return HxImageRep(); 00026 } 00027 00028 if (im.signature().pixelType() != INT_VALUE) 00029 { 00030 HxGlobalError::instance()->reportError(fname, "logical operators are only valid on integer images", HxGlobalError::HX_GE_INVALID); 00031 return HxImageRep(); 00032 } 00033 00034 if (val.tag() != HxValue::SI) 00035 { 00036 HxGlobalError::instance()->reportError(fname, "only scalar integer value supported", HxGlobalError::HX_GE_INVALID); 00037 return HxImageRep(); 00038 } 00039 00040 00041 return im.binaryPixOp(val, "leftShift"); 00042 } |