Skip to content
Snippets Groups Projects
Commit 1a4015c9 authored by Rashad Kanavath's avatar Rashad Kanavath
Browse files

TEST: test for numpy support

parent 527d2b08
No related branches found
No related tags found
No related merge requests found
...@@ -72,3 +72,8 @@ add_test( NAME pyTvBandMathInXML ...@@ -72,3 +72,8 @@ add_test( NAME pyTvBandMathInXML
${TEMP}/pyTvBandMathInXML.tif ${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_ )
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()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment