Skip to content

Version 2.8.0 "Hogfather"

Compare
Choose a tag to compare
@dgirardeau dgirardeau released this 17 Dec 22:57
· 2404 commits to master since this release
  • New features:
    • New plugin: qBroom (Virtual Broom) [Windows, macOS]
      • smart and interactive selection of points on a surface (globally flat, e.g. like a road ;)
      • selection of the points inside the 'broom', above, below or both
      • option to invert the selection
      • automation mode
    • New plugin: qCSF (Cloth Simulation Filtering) [Windows, macOS]
      • automatic ground / non-ground classification of aerial LIDAR point clouds
      • based on the article: "An Easy-to-Use Airborne LiDAR Data Filtering Method Based on Cloth Simulation", W. Zhang, J. Qi, P. Wan, H. Wang, D. Xie, X. Wang, G. Yan. Remote Sensing. 2016; 8(6):501.
    • New plugin: qHoughNormals (Normal Estimation in Unstructured Point Clouds) [Windows, macOS, Linux]
      • based on "Deep Learning for Robust Normal Estimation in Unstructured Point Clouds" by Alexandre Boulch and Renaud Marlet, Symposium of Geometry Processing 2016, Computer Graphics Forum
    • New plugin: qM3C2 (Multiscale Model to Model Cloud Comparison) [Windows, macOS, Linux]
      • based on "Accurate 3D comparison of complex topography with terrestrial laser scanner: application to the Rangitikei canyon (N-Z)", Lague, D., Brodu, N. and Leroux, J., 2013, ISPRS Journal of Photogrammmetry and Remote Sensing
    • Support for FWF (Full WaveForm) airborne LIDAR data [Windows only]
      • use the 'LAS 1.3 or 1.4 (*.las *.laz)' filter to open LAS files with full waveform data
      • new 'Edit > Waveform > 2D Waveform viewer' to visualize waveforms associated to each point (as 2D curve)
      • option to export the waveform as a CSV file
    • New 'Geological' plane creation / edition methods:
      • Edit > Plane > Create: lets the user create a plane with specific dip / dip direction, center (can be picked on a cloud or a mesh), width and height
      • Edit > Plane > Edit: edit the above parameters on an existing plane entity
    • New Polyline export format:
      • 2D height profile (curvilinear abscissa + Z coordinate)
    • New tool: Edit > Mesh > Create surface between two polylines
      • Creates a surface patch between two polylines
    • New tool: Edit > Mesh > Mesh scan grids
      • Creates a surface from a cloud with one or several scan grids (one mesh per grid)
    • New tool: Edit > Color > Enhance with intensities
      • Enhances the RGB colors thanks to the intensity scalar field (RGB-IHS method)
    • Gamepad support (XBox, etc.) [Windows only]
      • Enable it with the 'File > Gamepad > Enable' menu entry
      • A: toggle viewer-based perspective mode
      • B: toggle object-based perspective mode
      • left stick: move body (viewer-based mode) or move object [left/right and forward/backward]
      • right stick: rotate head (viewer-based mode) or rotate object
      • cross: move body (viewer-based mode) or move object [left/right and up/down]
      • L1/R1: change point size
      • L2/R2: roll left/right
      • start: zoom and center on the visible entities
    • New color scales:
      • two colorscales for dip and dip direction display (thanks to T. Dewez)
      • matplotlib's veridis colormap (perceptually-uniform)
    • Adds an "Open Recent" item to the File menu to quickly access the last 10 files that you've worked with.
    • New 'display' option to draw round points instead of square ones (when the point size > 1).
      Warning, the display may be slower then.
    • New formats supported:
      • Photoscan PSZ
      • [Windows] Riegl RDBX
  • Enhancements:
    • Animation plugin
      • new 'Export frames' button to generate individual frames instead of an animation
    • Poisson Reconstruction plugin:
      • based on the latest version of PoissonRecon by Misha (V9.1)
      • the user can now choose the boundary conditions (free / Dirichlet / Neumann)
    • Cross-section tool
      • the tool now supports multiple clouds and/or meshes
    • DB Tree (select children by type and/or by name)
      • regular expressions can now be used to select entities in the DB tree
    • Facets plugin
      • meta-data (normals, dip/direction, etc.) is now updated when the facet is rotated / transformed
      • the 3D representation of the normal vector now depends on the facet size and not on its min. bounding-box size
    • New shortcuts 'a la Meshlab':
      • CC now supports the 'CTRL + mouse wheel' shortcut to change the point size
      • CC now supports the 'ALT + mouse wheel' shortcut to change the zNear value (perspective mode)
      • CC now supports the 'SHIFT + mouse wheel' shortcut to change the field of view (perspective mode)
    • 2D labels:
      • most of the 2D labels parts (segment, point legend, etc.) are now displayed in 2D
        (this way they appear above the entities to be visible all the time).
    • SHP files:
      • when loading 2D points, the Z coordinate can now be exported from an associated DBF field
    • File loading:
      • when a multiple files are loaded, cancelling the loading process of one file will stop the whole loading procedure
    • LAS/LAZ files:
      • load dialog reorganized
      • info about the file are now displayed in a 'Info' tab (point count, bounding box)
      • new 'Tiling' option to tile a (big) LAS/LAZ file into smaller ones (the cloud is not actually loaded in memory)
    • Global Shift & Scale:
      • the PoissonRecon plugin now transfers the Global Shift & Scale information from the cloud to the resulting mesh
      • the 'Tools > Projection > Contour plot (polylines) to mesh' tool transfers the Global Shift & Scale information
        from the (first) polyline to the resulting mesh
    • 2.5D Volume Calculation tool:
      • new option to export the height difference grid as a cloud
        (warning: the exported points height will actually be equal to the height difference)
      • default color scale is now symmetrical if the height differences are not only positive or only negative
    • Rasterize tool:
      • the 'interpolate' option for empty cells now also interpolates the scalar fields and RGB color layers
      • the rasterize tool now uses the 'PixelIsArea' convention (i.e. the grid min corner coordinates correspond to the
        first grid cell center). This allows one to apply the Rasterize tool on a regular grid without any
        interference / sampling issues.
      • as a result, the volume calculation tool has been updated. Notably, results from the rasterize tool can be used
        in the 2.5D Volume calculation tool without any sampling artefact
      • exported rasters (geotiff) are using the same convention. They are also now properly oriented (they could be loaded
        flipped in some GIS tools).
      • ASCII matrix is now exported from top (highest Y coordinates) to bottom (lowest)
      • mixing RGB bands and other layers (heights, scalar fields, etc.) in a geotiff is in fact a bad idea. It results in
        64 bits color bands that are not properly handled by most of the other GIS tools. CC will now warn the user about
        this.
      • exported clouds and meshes are now properly exported in the same coordinate system as the input cloud
        (it was not the case for clouds projected along X or Y)
      • a coarse estimation of the grid volume (relative to Z = 0) is now available in the 'volume' tab
    • Raster file import:
      • New option to import the raster as a textured quad (mesh). Only available if the raster has at least R, G and B bands.
      • CC is now able to properly load raster files with multiple undefined bands
    • All the selected lines of the Console can now be copied at once (e.g. with CTRL+C on Windows)
    • Connected Components Extraction:
      • safeguard added if too many components are to be created (CC will ask the user to confirm the creation of more than 500 components)
    • CC should now warn the user when they try to save a file with a filename containing special characters when the third party
      library in charge of the export doesn't support them (see the warning Console message)
    • Display options
      • menu entry changed from 'Display parameters' to 'Display options' for the sake of consistency
      • new option: 'double sided' (light) to control whether triangles should be lit from the back or not
    • Apply Transformation tool
      • new 'Reset' button
      • new 'From dip / dip direction' to initialize the transformation as a rotation matrix passing from (0, 0) to the specified (dip, dip dir.) orientation
    • Normals computation
      • glitch fix: when computing normals with the 'LS plane' model, only 3 neighbors are requested instead of 12
      • CC now handles properly the (0, 0, 0) normal resulting from an insufficient number of neighbors
      • Dip / Dip direction computation takes the (0, 0, 0) normal and outputs NAN values for these normals
        --> this way it is possible to filter out the points with bad normals with 'Edit > SF > Filter by value' and using the full (valid) range
    • Other
      • Transformation history is now saved in BIN files
      • The normal of a plane entity can now be visualized as a 3D arrow (just as the Facet entities)
      • Dip and dip direction are now displayed in the properties of Facets and Planes
      • M3C2 sources are now publicly released! (GPL license)
      • New option to update an existing viewport object (with the current camera parameters)
      • [macOS] Now looks for the global_shift.txt file beside the .app instead of inside the application bundle
      • [macOS] Hides the 3D mouse and Gamepad menus since they are not yet supported on macOS
      • [macOS] Increases the default font sizes for the 3D viewer (these may be set in the Display Options)
      • I/O plugins (Faro, DP, Riegl, etc) are now loaded even when using CC in command line mode
  • Bug fixes:
    • the custom light was broken (enabled and displayed in the 2D screen coordinates space instead of the 3D world!)
    • the 2D labels marker size (in 3D) was too dependent on the perspective camera position
    • the fields named 'intensity', 'grey', 'gray' or 'col***i' in PLY files are now automatically loaded as scalar fields (instead of 'intensity', i.e. grey level RGB)
    • when using a DBF field as height for polylines (in SHP files), the height value could be read from the wrong field
    • qSRA (Surface or Revolution Analysis): the profile origin was not always properly taken into account. The latitude angles were not always computed relative to
      the profile origin and changing the origin via the distance map dialog could be misleading.
    • when clicking on the 'Apply all' button of the LAS/LAZ loading dialog, the global shift set for the first file could be ignored by the subsequent ones
    • the 3-points label vertex names (A,B,C) were not displayed by default
    • Rasterize tool:
      • the 'Hillshade' computation tool was considering the grid upside-down (hence the sun azimuth angle was inverted)
      • contour lines generated with a projection direction other than Z were not displayed in the right orientation compared
        to the grid raster (inside the Rasterize tool only)
    • Command line tool:
      • the CROP2D option applied with an orientation other than Z was not performing the cut at the right position
      • the CURV option was no longer accessible
    • Connected Components Extraction: the tool couldn't be used properly with an octree level > 10
    • CC failed to save E57 files with multiple clouds with normals
    • ccViewer was transforming input arguments to upper case, hence preventing files to be opened this way on Linux
    • Documentation: contrarily to what was written in the wiki, the Level tool does not use the first picked point as origin for the new coordinate system!
      It only rotates the cloud about this point.
    • The new plane fitting algorithm (Least Squares fit) was giving strange results in some particular cases. Rolling back to the previous algorithm.
    • The sandbox tool 'Distance map to best fit 3D quadric' was broken
    • When computing normals with the Least Squares best fitting plane, CC required at least 12 points in the neighborhood, when only 3 are theoretically
      sufficient.
    • The SOR filter was broken (it was potentially using much more points than the number specified by the user, and it was changing over the cloud!)
    • Fixed a problem when creating a new 3D view with the view not updating until the window was resized or refreshed.
    • [macOS] Fix plugins on case-sensitive file systems
    • [macOS] Fix problem with the main window jumping around and resizing when dragging toolbars
    • [macOS] Fixes the layout of the 2.5D Volume Calculation dialog
    • Global shift & scale information could be lost when cloning entities or merging them with other non-shifted entities