geo3d.rasters.blocks ==================== .. py:module:: geo3d.rasters.blocks Classes ------- .. autoapisummary:: geo3d.rasters.blocks.PipelineBlock geo3d.rasters.blocks.EPTReaderBlock geo3d.rasters.blocks.LASReaderBlock geo3d.rasters.blocks.NoiseRemovalBlock geo3d.rasters.blocks.AboveGroundFilterBlock geo3d.rasters.blocks.GdalWriterBlock Module Contents --------------- .. py:class:: PipelineBlock Bases: :py:obj:`abc.ABC` Base class for all pipeline blocks. .. py:method:: build() -> List[altametris.geo3d.core.base.Component] :abstractmethod: Build PDAL stages for this block. :returns: A list of PDAL components (readers, writers, filters). :rtype: List[Component] .. py:class:: EPTReaderBlock(filename: str, resolution: float | None = None, bounds: str | None = None, token: str | None = None) Bases: :py:obj:`PipelineBlock` EPT reader block. It reads an EPT file and optionally applies bounds to crop. It can use a token to access the file. .. py:attribute:: filename .. py:attribute:: resolution :value: None .. py:attribute:: bounds :value: None .. py:attribute:: token :value: None .. py:method:: build() -> List[altametris.geo3d.core.base.Component] Build the EPT reader block. :returns: The EPT reader block as a list containing only the PDAL EPT reader. :rtype: List[Component] .. py:class:: LASReaderBlock(filename: str, bounds: str | None = None) Bases: :py:obj:`PipelineBlock` LAS reader block. It reads the LAS file and optionally applies bounds to crop it. .. py:attribute:: filename .. py:attribute:: bounds :value: None .. py:method:: build() -> List[altametris.geo3d.core.base.Component] Build the LAS reader block. :returns: The LAS reader block as a list containing the PDAL LAS reader followed by the crop filter. :rtype: List[Component] .. py:class:: NoiseRemovalBlock(mean_k: int, multiplier: float) Bases: :py:obj:`PipelineBlock` Noise removal block. Noise removal is done using a statistical outlier filter. Noise points which are given the class 7 are removed from the point cloud. .. py:attribute:: mean_k .. py:attribute:: multiplier .. py:method:: build() -> List[altametris.geo3d.core.base.Component] Build the noise removal block. :returns: The NoiseRemovalBlock list containing the statistical outlier and the range filters. :rtype: List[Component] .. py:class:: AboveGroundFilterBlock(height_threshold: float) Bases: :py:obj:`PipelineBlock` Above ground filter block. First, ground is detected using an SMRF filter (with default paremeters). Then, a 'Height Above Ground Nearest Neighbor' filter is applied to create a normalized height values in a dimension called 'HeightAboveGround'. Last, A ranger filter is applied to remove points abouve a normalized height. .. py:attribute:: height_threshold .. py:method:: build() -> List[altametris.geo3d.core.base.Component] Build the above ground filter block. :returns: The AboveGroundFilterBlock list containing the smrf, hag_nn, and range filters. :rtype: List[Component] .. py:class:: GdalWriterBlock(filename: str, resolution: float, window_size: float | None = None) Bases: :py:obj:`PipelineBlock` GDAL raster writer block. The raster is created from an input point cloud and represents a dataset of different statistics. In this block we compute the 'min' and 'max' statistics that will be used to a correct height range. .. py:attribute:: filename .. py:attribute:: resolution .. py:attribute:: window_size :value: None .. py:method:: build() -> List[altametris.geo3d.core.base.Component] Build the GDAL writer block. :returns: The GdalWriterBlock list containing the GDAL writer. :rtype: List[Component]