00001 #ifndef Impala_Core_Test_TestWatershed_h
00002 #define Impala_Core_Test_TestWatershed_h
00003
00004 #include "Core/Test/TestImage.h"
00005 #include "Core/Array/Watershed.h"
00006
00007 namespace Impala
00008 {
00009 namespace Core
00010 {
00011 namespace Test
00012 {
00013
00014
00015 class TestWatershed : public TestImage
00016 {
00017 public:
00018
00019 TestWatershed(String srcName, int conn)
00020 {
00021 mTestNameBase = "Watershed";
00022 mSrcName = srcName;
00023 mConn = conn;
00024 }
00025
00026 virtual void
00027 Run()
00028 {
00029 Array2dScalarInt32* src = OpenSrcArrayAsInt(mSrcName);
00030 Array2dScalarInt32* res = 0;
00031 Watershed(res, src, mConn);
00032
00033 int id = mImSet->GetFileId(mSrcName);
00034 String suffix = FileNameCtor("", mTestNameBase, mConn, ".raw");
00035 if (1)
00036 {
00037 Compare(res, mImSet->GetFilePathReference(id, suffix, false, false));
00038 }
00039 else
00040 {
00041 WriteRaw(res, mImSet->GetFilePathReference(id, suffix, true, false),
00042 mImSet->GetDatabase(), true);
00043 }
00044
00045 delete src;
00046 delete res;
00047 }
00048
00049 virtual String
00050 Name() const
00051 {
00052 return FileNameCtor(mTestNameBase, mSrcName, mConn, "");
00053 }
00054
00055 private:
00056 String mTestNameBase;
00057 String mSrcName;
00058 int mConn;
00059 };
00060
00061
00062 static TestBase* gWatershedSuite[] =
00063 {
00064 new TestWatershed("0a.png", 4),
00065 new TestWatershed("0a.png", 8),
00066
00067
00068 (TestBase*)0
00069 };
00070
00071 }
00072 }
00073 }
00074
00075 #endif