import os
import sys, getopt
import time
import PyIPSDK
import PyIPSDK.IPSDKIPLStats as stats
import PyIPSDK.IPSDKIPLUtility as util
imagesSamplePath = PyIPSDK.getIPSDKDirectory(PyIPSDK.eInternalDirectory.eID_Images)
inputImgPath = os.path.join(imagesSamplePath, "Lena_510x509_UInt8.tif")
tmpPath = PyIPSDK.getIPSDKDefaultDirectory(PyIPSDK.eDefaultExternalDirectory.eDED_Tmp)
outputImgPath = os.path.join(tmpPath, "benchmark.tif")
inHalfKnlSizeX = 3
inHalfKnlSizeY = 3
inOptNbClasses = 16
try:
opts, args = getopt.getopt(argv,"hi:o:x:y:n:",["inputImgFilePath=","outputImgFilePath=","inHalfKnlSizeX=","inHalfKnlSizeY=", "inOptNbClasses="])
except getopt.GetoptError:
print('<application_script_filename> [--inputImgFilePath <input_image_file_path>] [--outputImgFilePath <output_image_file_path>] [--inHalfKnlSizeX <input_half_kernel_x_size_value>] [--inHalfKnlSizeY <input_half_kernel_y_size_value>] [--inOptNbClasses <input_number_of_classes>]')
sys.exit(2)
for opt, arg in opts:
if opt == '-h':
print('<application_script_filename> [--inputImgFilePath <input_image_file_path>] [--outputImgFilePath <output_image_file_path>] [--inHalfKnlSizeX <input_half_kernel_x_size_value>] [--inHalfKnlSizeY <input_half_kernel_y_size_value>] [--inOptNbClasses <input_number_of_classes>]')
sys.exit(0)
elif opt in ("-i", "--inputImgFilePath"):
inputImgPath = arg
elif opt in ("-o", "--outputImgFilePath"):
outputImgPath = arg
elif opt in ("-x", "--inHalfKnlSizeX"):
inHalfKnlSizeX = int(arg)
elif opt in ("-y", "--inHalfKnlSizeY"):
inHalfKnlSizeY = int(arg)
elif opt in ("-n", "--inOptNbClasses"):
inOptNbClasses = int(arg)
return inputImgPath, outputImgPath, inHalfKnlSizeX, inHalfKnlSizeY, inOptNbClasses
inputImgPath, outputImgPath, inHalfKnlSizeX, inHalfKnlSizeY, inOptNbClasses =
readCmdArguments(argv)
inImg = PyIPSDK.loadTiffImageFile(inputImgPath)
outImg = util.convertImg(inImg, PyIPSDK.eImageBufferType.eIBT_Real32)
tStart = time.perf_counter()
outImg = stats.localEntropy2dImg(inImg, inHalfKnlSizeX, inHalfKnlSizeY, inOptNbClasses)
tEnd = time.perf_counter()
print("The application needed " + str(tEnd-tStart) + " seconds.")
print("Writing result in file : " + outputImgPath)
PyIPSDK.saveTiffImageFile(outputImgPath, outImg)
if __name__ == "__main__":