Skip to content
Permalink
Browse files
[processing] major overhaul of lastools algorithms
Code contributed by Martin Isenburg
  • Loading branch information
volaya committed May 21, 2014
1 parent dd47b61 commit b1103c0081995db63bd3d57e12974587979b4e86
Showing with 2,230 additions and 1,029 deletions.
  1. +58 −7 python/plugins/processing/algs/lidar/LidarToolsAlgorithmProvider.py
  2. +1 −1 python/plugins/processing/algs/lidar/fusion/FusionAlgorithm.py
  3. +1 −1 python/plugins/processing/algs/lidar/fusion/OpenViewerAction.py
  4. +1 −1 python/plugins/processing/algs/lidar/lastools/CMakeLists.txt
  5. +225 −237 python/plugins/processing/algs/lidar/lastools/LAStoolsAlgorithm.py
  6. +10 −19 python/plugins/processing/algs/lidar/lastools/LAStoolsUtils.py
  7. +12 −21 python/plugins/processing/algs/lidar/lastools/blast2dem.py
  8. +19 −31 python/plugins/processing/algs/lidar/lastools/blast2iso.py
  9. +156 −0 python/plugins/processing/algs/lidar/lastools/flightlinesToCHM.py
  10. +139 −0 python/plugins/processing/algs/lidar/lastools/flightlinesToDTMandDSM.py
  11. +267 −0 python/plugins/processing/algs/lidar/lastools/flightlinesToSingleCHMpitFree.py
  12. +135 −0 python/plugins/processing/algs/lidar/lastools/hugeFileClassify.py
  13. +109 −0 python/plugins/processing/algs/lidar/lastools/hugeFileGroundClassify.py
  14. +123 −0 python/plugins/processing/algs/lidar/lastools/hugeFileNormalize.py
  15. +12 −20 python/plugins/processing/algs/lidar/lastools/las2dem.py
  16. +78 −0 python/plugins/processing/algs/lidar/lastools/las2demPro.py
  17. +19 −31 python/plugins/processing/algs/lidar/lastools/las2iso.py
  18. +15 −37 python/plugins/processing/algs/lidar/lastools/las2las.py
  19. +5 −12 python/plugins/processing/algs/lidar/lastools/las2las_filter.py
  20. +105 −0 python/plugins/processing/algs/lidar/lastools/las2las_project.py
  21. +12 −39 python/plugins/processing/algs/lidar/lastools/las2las_transform.py
  22. +12 −18 python/plugins/processing/algs/lidar/lastools/las2shp.py
  23. +53 −0 python/plugins/processing/algs/lidar/lastools/las2tin.py
  24. +10 −16 python/plugins/processing/algs/lidar/lastools/las2txt.py
  25. +12 −20 python/plugins/processing/algs/lidar/lastools/lasboundary.py
  26. +41 −62 python/plugins/processing/algs/lidar/lastools/lascanopy.py
  27. +4 −8 python/plugins/processing/algs/lidar/lastools/lasclassify.py
  28. +17 −26 python/plugins/processing/algs/lidar/lastools/lasclip.py
  29. +58 −0 python/plugins/processing/algs/lidar/lastools/lascolor.py
  30. +17 −27 python/plugins/processing/algs/lidar/lastools/lascontrol.py
  31. +17 −24 python/plugins/processing/algs/lidar/lastools/lasduplicate.py
  32. +11 −20 python/plugins/processing/algs/lidar/lastools/lasgrid.py
  33. +14 −21 python/plugins/processing/algs/lidar/lastools/lasground.py
  34. +81 −0 python/plugins/processing/algs/lidar/lastools/lasgroundPro.py
  35. +8 −12 python/plugins/processing/algs/lidar/lastools/lasheight.py
  36. +10 −15 python/plugins/processing/algs/lidar/lastools/lasindex.py
  37. +6 −11 python/plugins/processing/algs/lidar/lastools/lasinfo.py
  38. +29 −32 python/plugins/processing/algs/lidar/lastools/lasmerge.py
  39. +20 −30 python/plugins/processing/algs/lidar/lastools/lasnoise.py
  40. +14 −22 python/plugins/processing/algs/lidar/lastools/lasoverage.py
  41. +23 −36 python/plugins/processing/algs/lidar/lastools/lasoverlap.py
  42. +6 −11 python/plugins/processing/algs/lidar/lastools/lasprecision.py
  43. +74 −0 python/plugins/processing/algs/lidar/lastools/lasquery.py
  44. +10 −15 python/plugins/processing/algs/lidar/lastools/lassort.py
  45. +29 −22 python/plugins/processing/algs/lidar/lastools/lassplit.py
  46. +14 −21 python/plugins/processing/algs/lidar/lastools/lasthin.py
  47. +12 −21 python/plugins/processing/algs/lidar/lastools/lastile.py
  48. +77 −0 python/plugins/processing/algs/lidar/lastools/lastilePro.py
  49. +6 −10 python/plugins/processing/algs/lidar/lastools/lasvalidate.py
  50. +5 −9 python/plugins/processing/algs/lidar/lastools/lasview.py
  51. +7 −11 python/plugins/processing/algs/lidar/lastools/laszip.py
  52. +12 −22 python/plugins/processing/algs/lidar/lastools/shp2las.py
  53. +19 −30 python/plugins/processing/algs/lidar/lastools/txt2las.py
@@ -8,8 +8,8 @@
Copyright : (C) 2012 by Victor Olaya
Email : volayaf at gmail dot com
---------------------
Date : September 2013
Copyright : (C) 2013 by Martin Isenburg
Date : April 2014
Copyright : (C) 2014 by Martin Isenburg
Email : martin near rapidlasso point com
***************************************************************************
* *
@@ -43,6 +43,8 @@
from lastools.laszip import laszip
from lastools.lasindex import lasindex
from lastools.lasclip import lasclip
from lastools.lasquery import lasquery
from lastools.lascolor import lascolor
from lastools.lasthin import lasthin
from lastools.lasnoise import lasnoise
from lastools.lassort import lassort
@@ -54,7 +56,9 @@
from lastools.las2dem import las2dem
from lastools.blast2dem import blast2dem
from lastools.las2iso import las2iso
from lastools.las2tin import las2tin
from lastools.las2las_filter import las2las_filter
from lastools.las2las_project import las2las_project
from lastools.las2las_transform import las2las_transform
from lastools.blast2iso import blast2iso
from lastools.lasprecision import lasprecision
@@ -69,6 +73,18 @@
from lastools.lascanopy import lascanopy
from lastools.lasoverage import lasoverage
from lastools.lasoverlap import lasoverlap

from lastools.lastilePro import lastilePro
from lastools.lasgroundPro import lasgroundPro
from lastools.las2demPro import las2demPro

from lastools.flightlinesToDTMandDSM import flightlinesToDTMandDSM
from lastools.flightlinesToCHM import flightlinesToCHM
from lastools.flightlinesToSingleCHMpitFree import flightlinesToSingleCHMpitFree
from lastools.hugeFileClassify import hugeFileClassify
from lastools.hugeFileGroundClassify import hugeFileGroundClassify
from lastools.hugeFileNormalize import hugeFileNormalize

from fusion.OpenViewerAction import OpenViewerAction
from fusion.CanopyMaxima import CanopyMaxima
from fusion.CanopyModel import CanopyModel
@@ -89,26 +105,58 @@ def __init__(self):
AlgorithmProvider.__init__(self)
self.activate = False
self.algsList = []

# LAStools for processing single files

if isWindows():
lastools = [
lasground(), lasheight(), lasclassify(), lasclip(), lastile(),
lasgrid(), las2dem(), blast2dem(), las2iso(), blast2iso(),
lasview(), lasboundary(), lasinfo(), lasprecision(),
lascolor(), lasgrid(), las2dem(), blast2dem(), las2iso(), blast2iso(),
lasview(), lasboundary(), lasinfo(), lasprecision(), las2tin(),
lasvalidate(), lasduplicate(), las2txt(), txt2las(), laszip(),
lasindex(), lasthin(), lassort(), lascanopy(), lasmerge(),
las2shp(), shp2las(), lasnoise(), lassplit(), las2las_filter(),
las2las_transform(), lasoverage(), lasoverlap()
las2las_project(), las2las_transform(), lasoverage(), lasoverlap(),
lasquery()
]
else:
lastools = [
lasinfo(), lasprecision(), lasvalidate(), las2txt(), txt2las(),
laszip(), lasindex(), lasmerge(), las2las_filter(),
las2las_transform()
laszip(), lasindex(), lasmerge(), las2las_filter(), las2las_project(),
las2las_transform(), lasquery()
]
for alg in lastools:
alg.group = 'LAStools'
self.algsList.extend(lastools)

# LAStools Production for processing folders of files

if isWindows():
lastoolsPro = [
lastilePro(), lasgroundPro(), las2demPro()
]
else:
lastoolsPro = [
]
for alg in lastoolsPro:
alg.group = 'LAStools Production'
self.algsList.extend(lastoolsPro)

# some examples for LAStools Pipelines

if isWindows():
lastoolsPipe = [
flightlinesToDTMandDSM(), flightlinesToCHM(), flightlinesToSingleCHMpitFree(), hugeFileClassify(), hugeFileGroundClassify(), hugeFileNormalize()
]
else:
lastoolsPipe = [
]
for alg in lastoolsPipe:
alg.group = 'LAStools Pipelines'
self.algsList.extend(lastoolsPipe)

# FUSION

if isWindows():
self.actions.append(OpenViewerAction())
fusiontools = [
@@ -128,6 +176,9 @@ def initializeSettings(self):
ProcessingConfig.addSetting(Setting(self.getDescription(),
FusionUtils.FUSION_FOLDER,
'Fusion folder', FusionUtils.FusionPath()))
ProcessingConfig.addSetting(Setting(self.getDescription(),
LAStoolsUtils.WINE_FOLDER,
'Wine folder', ''))

def getName(self):
return 'lidartools'
@@ -37,7 +37,7 @@ class FusionAlgorithm(GeoAlgorithm):
ADVANCED_MODIFIERS = 'ADVANCED_MODIFIERS'

def getIcon(self):
filepath = os.path.dirname(__file__) + '/../../images/tool.png'
filepath = os.path.dirname(__file__) + '/../../../images/tool.png'
return QtGui.QIcon(filepath)

def checkBeforeOpeningParametersDialog(self):
@@ -39,7 +39,7 @@ def __init__(self):
self.group = 'Visualization'

def getIcon(self):
return QtGui.QIcon(os.path.dirname(__file__) + '/../images/tool.png')
return QtGui.QIcon(os.path.dirname(__file__) + '/../../../images/tool.png')

def execute(self):
f = os.path.join(FusionUtils.FusionPath(), 'pdq.exe')
@@ -1,3 +1,3 @@
FILE(GLOB PY_FILES *.py)

PLUGIN_INSTALL(processing ./algs/lidar/lastools ${PY_FILES})
PLUGIN_INSTALL(processing ./lidar/lastools ${PY_FILES})

0 comments on commit b1103c0

Please sign in to comment.