#include <IPSDKCore/Config/LibraryInitializer.h>
#include <IPSDKIPL/IPSDKIPLClassification/Processor/KMeansImg/KMeansImg.h>
#include <IPSDKBaseProcessing/Logger/IPSDKBaseProcessingException.h>
#include <IPSDKImage/Geometry/BaseImageGeometry.h>
#include <IPSDKImage/Image/Memory/MemoryImage.h>
#include <IPSDKImageFile/Logger/IPSDKImageFileException.h>
#include <boost/filesystem/path.hpp>
#include <boost/filesystem/convenience.hpp>
#include <log4cplus/consoleappender.h>
#include <iostream>
int
main(
int argc,
char* argv[])
{
log4cplus::SharedAppenderPtr pConsole(new log4cplus::ConsoleAppender);
log4cplus::Logger::getRoot().addAppender(pConsole);
log4cplus::Logger::getRoot().setLogLevel(log4cplus::INFO_LOG_LEVEL);
case ipsdk::core::eLibInitStatus::eLIS_Warn:
break;
case ipsdk::core::eLibInitStatus::eLIS_Failed:
return -1;
break;
default:
break;
}
boost::filesystem::path inImgFilePath =
"Unequalized_Hawkes_Bay_NZ.tif";
boost::filesystem::path outImgFilePath =
% inImgFilePath.string());
try {
pInImg =
% inImgFilePath.string() % e.
getMsg());
return -1;
}
try {
return -1;
}
pKernelTypes->setValue<attr::LawTextureKernel2dTypes::FlagL5E5_E5L5>(false);
pKernelTypes->setValue<attr::LawTextureKernel2dTypes::FlagL5S5_S5L5>(false);
pKernelTypes->setValue<attr::LawTextureKernel2dTypes::FlagL5R5_R5L5>(false);
pKernelTypes->setValue<attr::LawTextureKernel2dTypes::FlagE5E5>(false);
pKernelTypes->setValue<attr::LawTextureKernel2dTypes::FlagE5S5_S5E5>(false);
pKernelTypes->setValue<attr::LawTextureKernel2dTypes::FlagE5R5_R5E5>(false);
pKernelTypes->setValue<attr::LawTextureKernel2dTypes::FlagS5S5>(false);
pKernelTypes->setValue<attr::LawTextureKernel2dTypes::FlagS5R5_R5S5>(false);
try {
}
return -1;
}
try {
}
return -1;
}
try {
}
return -1;
}
boost::shared_ptr<MemoryImage> pOutImg = boost::make_shared<MemoryImage>();
pOutImg->init(pInImg->getGeometry());
try {
}
return -1;
}
% outImgFilePath.string());
try {
% outImgFilePath % e.
getMsg());
return -1;
}
return 0;
}
import os
import sys
import PyIPSDK
import PyIPSDK.IPSDKIPLClassification as classif
import PyIPSDK.IPSDKIPLFiltering as filter
import PyIPSDK.IPSDKIPLIntensityTransform as itrans
import PyIPSDK.IPSDKIPLStats as stats
import PyIPSDK.IPSDKIPLUtility as util
imagesSamplePath = PyIPSDK.getIPSDKDirectory(PyIPSDK.eInternalDirectory.eID_Images)
inputImgPath = os.path.join(imagesSamplePath, "sampleKMeansInputImage.tif")
tmpPath = PyIPSDK.getIPSDKDefaultDirectory(PyIPSDK.eDefaultExternalDirectory.eDED_Tmp)
outputClassImgPath = os.path.join(tmpPath, "outClassImg.tif")
inImg = PyIPSDK.loadTiffImageFile(inputImgPath, PyIPSDK.eTiffDirectoryMode.eTDM_Volume)
unnoisedImg = filter.median2dImg(inImg, 1, 1)
preProcParams = PyIPSDK.createMeanLawTexPreProcParams(7)
postProcParams = PyIPSDK.createMeanAbsLawTexPostProcParams(7)
kernelTypes = PyIPSDK.createLawTextureKernel2dTypes()
kernelTypes.flagL5E5_E5L5 = False
kernelTypes.flagL5S5_S5L5 = False
kernelTypes.flagL5R5_R5L5 = False
kernelTypes.flagE5E5 = False
kernelTypes.flagE5S5_S5E5 = False
kernelTypes.flagE5R5_R5E5 = False
kernelTypes.flagS5S5 = False
kernelTypes.flagS5R5_R5S5 = False
lawTexImg = stats.lawTexture2dImg(inImg, kernelTypes, preProcParams, postProcParams)
seqImg = util.appendSeqImg(lawTexImg, util.convertImg(unnoisedImg, PyIPSDK.eImageBufferType.eIBT_Real32))
seqImg = itrans.standardizeImg(seqImg)
outClassImg = PyIPSDK.createImage(inImg.getGeometry())
K = 4
classif.kMeansImg(seqImg, K, 20, 1000, 0.001, outClassImg)
print("Writing result in file : " + outputClassImgPath)
PyIPSDK.saveTiffImageFile(outputClassImgPath, outClassImg)
if __name__ == "__main__":