Skip to content

Commit 16b3417

Browse files
author
volayaf@gmail.com
committed
implemented a few more pymorph algorithms
git-svn-id: http://sextante.googlecode.com/svn/trunk/soft/bindings/qgis-plugin@184 881b9c09-3ef8-f3c2-ec3d-21d735c97f4d
1 parent 40f1ea5 commit 16b3417

17 files changed

+26
-2
lines changed

src/sextante/pymorph/PymorphAlgorithm.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,24 @@ class PymorphAlgorithm(ScriptAlgorithm):
99

1010
LOAD_LAYER_SCRIPT = "from sextante.gdal.GdalUtils import GdalUtils\n" \
1111
+"from sextante.pymorph.mmorph import datatype\n" \
12+
+ "import numpy\n" \
1213
+"gdal_datatypes={'binary':'Byte','uint8':'Byte','uint16':'UInt16','int32':'Int32'}\n" \
1314
+ "try:\n" \
1415
+ "\tfrom osgeo import gdal\n" \
1516
+ "except ImportError:\n" \
1617
+ "\timport gdal\n" \
1718
+ "gdal.AllRegister()\n" \
1819
+ "img = gdal.Open(input_filename)\n"\
19-
+ "input_array = img.ReadAsArray()\n"
20+
+ "input_array = img.ReadAsArray()\n" \
21+
+ "if isinstance(input_array[0][0], (numpy.float32, numpy.float64)):\n" \
22+
+ "\tinput_array = input_array.astype(numpy.int32)\n"
2023

2124
SAVE_LAYER_SCRIPT = "\ndrv = gdal.GetDriverByName(GdalUtils.getFormatShortNameFromFilename(output_filename))\n" \
22-
+ "out = drv.Create(output_filename, img.RasterXSize, img.RasterYSize, 1, gdal.GetDataTypeByName(gdal_datatypes[datatype(output_array)]))\n"\
25+
+ "out = drv.Create(output_filename, img.RasterXSize, img.RasterYSize, 1, gdal.GetDataTypeByName('UInt16'))\n"\
2326
+ "out.SetGeoTransform( img.GetGeoTransform())\n"\
2427
+ "out.SetProjection( img.GetProjectionRef())\n"\
2528
+ "out.GetRasterBand(1).WriteArray(output_array)"
29+
#gdal_datatypes[datatype(output_array)]
2630

2731
def getCopy(self):
2832
newone = PymorphAlgorithm(self.descriptionFile)

src/sextante/pymorph/scripts/endpoints.py

Whitespace-only changes.

src/sextante/pymorph/scripts/erode.py

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
from sextante.pymorph.mmorph import erode
2+
output_array=erode(input_array)

src/sextante/pymorph/scripts/flood.py

Whitespace-only changes.

src/sextante/pymorph/scripts/gdist.py

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
from sextante.pymorph.mmorph import gdist
2+
output_array=gdist(input_array)

src/sextante/pymorph/scripts/gradm.py

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
from sextante.pymorph.mmorph import gradm
2+
output_array=gradm(input_array)

src/sextante/pymorph/scripts/hmax.py

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
##Contrast_threshold=number 1
2+
from sextante.pymorph.mmorph import hmax
3+
output_array=hmax(input_array, Contrast_threshold)

src/sextante/pymorph/scripts/hmin.py

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
##Contrast_threshold=number 1
2+
from sextante.pymorph.mmorph import hmin
3+
output_array=hmin(input_array, Contrast_threshold)

src/sextante/pymorph/scripts/homothick.py

Whitespace-only changes.

src/sextante/pymorph/scripts/homothin.py

Whitespace-only changes.

src/sextante/pymorph/scripts/infcanon.py

Whitespace-only changes.

src/sextante/pymorph/scripts/infgen.py

Whitespace-only changes.

src/sextante/pymorph/scripts/infrec.py

Whitespace-only changes.

src/sextante/pymorph/scripts/inpos.py

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
##Binary_marker_image=raster
2+
from sextante.pymorph.mmorph import inpos, binary
3+
img2 = gdal.Open(Binary_marker_image)
4+
input_array2 = img2.ReadAsArray()
5+
output_array=inpos(binary(input_array2), input_array)

src/sextante/pymorph/scripts/interot.py

Whitespace-only changes.

src/sextante/pymorph/scripts/intersec.py

Whitespace-only changes.
+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
##Number_of_isolines=number 10
2+
from sextante.pymorph.mmorph import isolines
3+
output_array=isolines(input_array, Number_of_isolines)

0 commit comments

Comments
 (0)