Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[processing] improved lidar provider (contributed by Martin Isenburg)
  • Loading branch information
volaya committed Sep 24, 2013
1 parent 9d9d60a commit 1ad2334
Show file tree
Hide file tree
Showing 39 changed files with 2,142 additions and 332 deletions.
59 changes: 41 additions & 18 deletions python/plugins/processing/lidar/LidarToolsAlgorithmProvider.py
Expand Up @@ -7,6 +7,10 @@
Date : August 2012
Copyright : (C) 2012 by Victor Olaya
Email : volayaf at gmail dot com
---------------------
Date : September 2013
Copyright : (C) 2013 by Martin Isenburg
Email : martin near rapidlasso point com
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
Expand All @@ -26,22 +30,44 @@
import os
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from processing.core.ProcessingConfig import ProcessingConfig, Setting
from processing.tools.system import isWindows
from processing.lidar.lastools.LAStoolsUtils import LAStoolsUtils
from processing.core.AlgorithmProvider import AlgorithmProvider
from processing.tools.system import *
from processing.lidar.lastools.LasToolsUtils import LasToolsUtils
from processing.core.ProcessingConfig import Setting, ProcessingConfig
from processing.lidar.lastools.las2dem import las2dem
from processing.lidar.lastools.las2iso import las2iso
from processing.lidar.lastools.las2shp import las2shp
from processing.lidar.lastools.lasboundary import lasboundary
from processing.lidar.lastools.lasgrid import lasgrid
from processing.lidar.lastools.lasground import lasground
from processing.lidar.lastools.lasheight import lasheight
from processing.lidar.lastools.lasclassify import lasclassify
from processing.lidar.lastools.laszip import laszip
from processing.lidar.lastools.lasindex import lasindex
from processing.lidar.lastools.lasclip import lasclip
from processing.lidar.lastools.lasheight import lasheight
from processing.lidar.lastools.lasthin import lasthin
from processing.lidar.lastools.lasnoise import lasnoise
from processing.lidar.lastools.lassort import lassort
from processing.lidar.lastools.lastile import lastile
from processing.lidar.lastools.lasgrid import lasgrid
from processing.lidar.lastools.lasview import lasview
from processing.lidar.lastools.lasboundary import lasboundary
from processing.lidar.lastools.lasinfo import lasinfo
from processing.lidar.lastools.las2dem import las2dem
from processing.lidar.lastools.blast2dem import blast2dem
from processing.lidar.lastools.las2iso import las2iso
from processing.lidar.lastools.las2las_filter import las2las_filter
from processing.lidar.lastools.las2las_transform import las2las_transform
from processing.lidar.lastools.blast2iso import blast2iso
from processing.lidar.lastools.lasprecision import lasprecision
from processing.lidar.lastools.lasvalidate import lasvalidate
from processing.lidar.lastools.lasduplicate import lasduplicate
from processing.lidar.lastools.las2txt import las2txt
from processing.lidar.lastools.txt2las import txt2las
from processing.lidar.lastools.las2shp import las2shp
from processing.lidar.lastools.shp2las import shp2las
from processing.lidar.lastools.lasmerge import lasmerge
from processing.lidar.lastools.lassplit import lassplit
from processing.lidar.lastools.lascanopy import lascanopy
from processing.lidar.lastools.lasoverage import lasoverage
from processing.lidar.lastools.lasoverlap import lasoverlap
"""
"""
from processing.lidar.fusion.OpenViewerAction import OpenViewerAction
from processing.lidar.fusion.CanopyMaxima import CanopyMaxima
from processing.lidar.fusion.CanopyModel import CanopyModel
Expand All @@ -55,20 +81,18 @@
from processing.lidar.fusion.FilterData import FilterData
from processing.lidar.fusion.FusionUtils import FusionUtils


class LidarToolsAlgorithmProvider(AlgorithmProvider):

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

if isWindows():
Expand All @@ -81,9 +105,8 @@ def __init__(self):

def initializeSettings(self):
AlgorithmProvider.initializeSettings(self)
ProcessingConfig.addSetting(Setting(self.getDescription(), LasToolsUtils.LASTOOLS_FOLDER, "LASTools folder", LasToolsUtils.LasToolsPath()))
ProcessingConfig.addSetting(Setting(self.getDescription(), FusionUtils.FUSION_FOLDER, "Fusion folder",
FusionUtils.FusionPath()))
ProcessingConfig.addSetting(Setting(self.getDescription(), LAStoolsUtils.LASTOOLS_FOLDER, "LAStools folder", LAStoolsUtils.LAStoolsPath()))
ProcessingConfig.addSetting(Setting(self.getDescription(), FusionUtils.FUSION_FOLDER, "Fusion folder", FusionUtils.FusionPath()))

def getName(self):
return "lidartools"
Expand All @@ -98,4 +121,4 @@ def _loadAlgorithms(self):
self.algs = self.algsList

def getSupportedOutputTableExtensions(self):
return ["csv"]
return ["csv"]
5 changes: 3 additions & 2 deletions python/plugins/processing/lidar/fusion/FusionUtils.py
Expand Up @@ -17,19 +17,20 @@
***************************************************************************
"""


__author__ = 'Victor Olaya'
__date__ = 'August 2012'
__copyright__ = '(C) 2012, Victor Olaya'
# This will get replaced with a git SHA1 when you do a git archive
__revision__ = '$Format:%H$'

import os
from PyQt4.QtCore import *
from PyQt4.QtGui import *
import subprocess
from processing.core.ProcessingLog import ProcessingLog
from processing.core.ProcessingConfig import ProcessingConfig
import os
from processing.tools.system import *
from processing.tools.system import userFolder

class FusionUtils():

Expand Down
2 changes: 1 addition & 1 deletion python/plugins/processing/lidar/fusion/OpenViewerAction.py
Expand Up @@ -43,4 +43,4 @@ def execute(self):
if os.path.exists(f):
subprocess.Popen(f)
else:
QtGui.QMessageBox.critical(None, "Unable to open viewer", "The current Fusion folder does not contain the viewer executable.\nPlease check the configuration in the processing settings dialog.")
QtGui.QMessageBox.critical(None, "Unable to open viewer", "The current Fusion folder does not contain the viewer executable.\nPlease check the configuration in the Processing settings dialog.")

0 comments on commit 1ad2334

Please sign in to comment.