[GRASS-dev] [GRASS GIS] #742: v.coregister / v.align : A module to translate and rotate a point cloud to best match one another

#742: v.coregister / v.align : A module to translate and rotate a point cloud to
best match one another
---------------------------------+------------------------------------------
Reporter: stevensj | Owner: grass-dev@lists.osgeo.org
     Type: enhancement | Status: new
Priority: normal | Milestone: 6.4.0
Component: Vector | Version: unspecified
Keywords: lidar, point, cloud | Platform: Unspecified
      Cpu: Unspecified |
---------------------------------+------------------------------------------
Often LiDAR data is collected as strips (e.g. airborne), or point clouds
with different sources (e.g. ground-based). When the two files are
combined they might be slightly offset, resulting in nasty artefacts. It
would be excellent to have a module that would allow one point cloud to be
adjusted to best fit another one. The same module would also be able to
pin a dataset to ground control points.

Speaking to people working with airborne lidar, I have found the
misregistration to be a common problem. It can also be an issue when
combining datasets from different sources e.g. LiDAR and SRTM. I think
that commercial LiDAR packages for ground-based scanners may have
something like this, but as far as I know there is nothing for airborne
stuff.

The module may work by requiring the user to select points to match in
each dataset. It could then return to parameters to give the best fit.
This might be parameters to match A to B, B to A or turn both into some
intermediate. It would also carry out the transformation if necessary.
Maybe the parameters could be calculated on a thinned dataset to reduce
processing time. A more advanced version might be able to pick the points
automatically and to do some warping of the cloud, too.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/742&gt;
GRASS GIS <http://grass.osgeo.org>

#742: v.coregister / v.align : A module to translate and rotate a point cloud to
best match one another
--------------------------+-------------------------------------------------
  Reporter: stevensj | Owner: grass-dev@lists.osgeo.org
      Type: enhancement | Status: new
  Priority: normal | Milestone: 6.4.0
Component: Vector | Version: unspecified
Resolution: | Keywords: lidar, point, cloud
  Platform: Unspecified | Cpu: Unspecified
--------------------------+-------------------------------------------------
Comment (by helena):

Replying to [ticket:742 stevensj]:
> Often LiDAR data is collected as strips (e.g. airborne), or point clouds
with different sources (e.g. ground-based). When the two files are
combined they might be slightly offset, resulting in nasty artefacts. It
would be excellent to have a module that would allow one point cloud to be
adjusted to best fit another one. The same module would also be able to
pin a dataset to ground control points.
....

We have just started to look into this - we have ground based laser
scanner and we need to co-register multiple scans in 3D and we also work
with a lot of airborne data (although the newest data usually come
gereferenced pretty accurately). Please email me (hmitaso at
unity.ncsu.edu) so that we can exchange more details about the potential
module and the best methods for the task.

Helena

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/742#comment:1&gt;
GRASS GIS <http://grass.osgeo.org>

#742: v.coregister / v.align : A module to translate and rotate a point cloud to
best match one another
--------------------------+-------------------------------------------------
  Reporter: stevensj | Owner: grass-dev@lists.osgeo.org
      Type: enhancement | Status: new
  Priority: normal | Milestone: 6.4.0
Component: Vector | Version: unspecified
Resolution: | Keywords: lidar, point, cloud
  Platform: Unspecified | Cpu: Unspecified
--------------------------+-------------------------------------------------
Comment (by benducke):

Sounds to me like a case for 3D procrustes analysis (although I have never
heard of it being used for such massive datasets) -- but I guess you
thought about that one already...

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/742#comment:2&gt;
GRASS GIS <http://grass.osgeo.org>

#742: v.coregister / v.align : A module to translate and rotate a point cloud to
best match one another
--------------------------+-------------------------------------------------
  Reporter: stevensj | Owner: grass-dev@lists.osgeo.org
      Type: enhancement | Status: new
  Priority: normal | Milestone: 6.5.0
Component: Vector | Version: unspecified
Resolution: | Keywords: lidar, point, cloud
  Platform: Unspecified | Cpu: Unspecified
--------------------------+-------------------------------------------------
Changes (by hamish):

  * milestone: 6.4.0 => 6.5.0

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/742#comment:3&gt;
GRASS GIS <http://grass.osgeo.org>

#742: v.coregister / v.align : A module to translate and rotate a point cloud to
best match one another
---------------------------------+------------------------------------------
Reporter: stevensj | Owner: grass-dev@…
     Type: enhancement | Status: new
Priority: normal | Milestone: 7.0.0
Component: Vector | Version: unspecified
Keywords: lidar, point, cloud | Platform: Unspecified
      Cpu: Unspecified |
---------------------------------+------------------------------------------
Changes (by neteler):

  * milestone: 6.5.0 => 7.0.0

Comment:

In GRASS 7, there is v.rectify which could do the job when you have
3D control points:
http://grass.osgeo.org/grass70/manuals/html70_user/v.rectify.html

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/742#comment:4&gt;
GRASS GIS <http://grass.osgeo.org>