00001 #ifndef Impala_Core_Array_SKIZ_h 00002 #define Impala_Core_Array_SKIZ_h 00003 00004 #include "Core/Array/Watershed.h" 00005 #include "Core/Array/Pattern/PatUnaryPixOp.h" 00006 #include "Core/Array/Trait/UpoRAVBO.h" 00007 00008 namespace Impala 00009 { 00010 namespace Core 00011 { 00012 namespace Array 00013 { 00014 00015 00020 template<class DstArrayT, class SrcArrayT> 00021 inline void 00022 SKIZ(DstArrayT*& dst, SrcArrayT* src, int conn) 00023 { 00024 Watershed(dst, src, conn); 00025 00026 // now for SKIZ I have to replace all values BUT 0 with 255, so that we 00027 // keep only the border, and not the objects labeled. 00028 Trait::UpoRAVBO<DstArrayT, DstArrayT> upo(0, 255); 00029 Pattern::PatUnaryPixOp(dst, dst, upo); 00030 } 00031 00032 } // namespace Array 00033 } // namespace Core 00034 } // namespace Impala 00035 00036 #endif