From 1a4015c984a78391499b57c5f56027207e49100e Mon Sep 17 00:00:00 2001 From: Rashad Kanavath <rashad.kanavath@c-s.fr> Date: Fri, 20 Mar 2015 15:53:16 +0100 Subject: [PATCH] TEST: test for numpy support Signed-off-by: Rashad Kanavath <rashad.kanavath@c-s.fr> --- .../Wrappers/SWIG/test/python/CMakeLists.txt | 5 ++ .../SWIG/test/python/PythonNumpyTest.py | 56 +++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 Modules/Wrappers/SWIG/test/python/PythonNumpyTest.py diff --git a/Modules/Wrappers/SWIG/test/python/CMakeLists.txt b/Modules/Wrappers/SWIG/test/python/CMakeLists.txt index e51c82f85d..0290809a79 100644 --- a/Modules/Wrappers/SWIG/test/python/CMakeLists.txt +++ b/Modules/Wrappers/SWIG/test/python/CMakeLists.txt @@ -72,3 +72,8 @@ add_test( NAME pyTvBandMathInXML ${TEMP}/pyTvBandMathInXML.tif ) +add_test( NAME pyTvNumpyIO + COMMAND ${TEST_DRIVER} Execute + ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/PythonNumpyTest.py + ${OTB_DATA_ROOT}/Input/poupees.tif + ${TEMP}/pyTvNumpyIO_ ) diff --git a/Modules/Wrappers/SWIG/test/python/PythonNumpyTest.py b/Modules/Wrappers/SWIG/test/python/PythonNumpyTest.py new file mode 100644 index 0000000000..228e176b92 --- /dev/null +++ b/Modules/Wrappers/SWIG/test/python/PythonNumpyTest.py @@ -0,0 +1,56 @@ +import sys +import os +#from scipy import misc + +import numpy as np +import otbApplication + +#from PIL import Image as PILImage + +inFile = sys.argv[1] +prefix = sys.argv[2] +# pilimage = PILImage.open(inFile) +# npimage = np.asarray(pilimage) +# print npimage.dtype + +ExtractROI = otbApplication.Registry.CreateApplication("ExtractROI") +ExtractROI.SetParameterString("in", inFile) +ExtractROI.SetParameterInt("startx", 10) +ExtractROI.SetParameterInt("starty", 10) +ExtractROI.SetParameterInt("sizex", 250) +ExtractROI.SetParameterInt("sizey", 250) + +#Bug or Design ?. +#Anyway below two is needed only for ExtractROI application +ExtractROI.SetParameterUserValue("sizex", True) +ExtractROI.SetParameterUserValue("sizey", True) +ExtractROI.Execute() + +ExtractROIOut = ExtractROI.GetVectorImageAsNumpyArray("out", 'float') + +#write RGB image to file via python +#misc.imsave('ExtractROIOut.jpg', ExtractROIOut) + +Rescale = otbApplication.Registry.CreateApplication("Rescale") +#take numpy array from ExtractROI and feed into Rescale +Rescale.SetVectorImageFromNumpyArray("in", ExtractROIOut) +Rescale.SetParameterFloat("outmin", 50, True) +Rescale.SetParameterFloat("outmax", 100, True) +Rescale.Execute() + +RescaleOut = Rescale.GetVectorImageAsNumpyArray("out", 'float') +#misc.imsave('RescaleOut.jpg', RescaleOut) + +Convert = otbApplication.Registry.CreateApplication("Convert") +#take numpy output from Rescale application and feed into Convert +Convert.SetVectorImageFromNumpyArray("in", RescaleOut) +Convert.SetParameterString("out", "ConvertOut.png") +Convert.ExecuteAndWriteOutput() +ConvertOut = Convert.GetVectorImageAsNumpyArray("out", 'float') + +Smoothing = otbApplication.Registry.CreateApplication("Smoothing") +#take numpy output from Convert application and feed into Smoothing +Smoothing.SetVectorImageFromNumpyArray("in", ConvertOut) +Smoothing.SetParameterString("type", 'anidif') +Smoothing.SetParameterString("out", prefix + "SmoothingOut.png") +Smoothing.ExecuteAndWriteOutput() -- GitLab