new filters compute NDVI on-the-fly for LiDAR with NIR+red values

261 views
Skip to first unread message

Martin Isenburg

unread,
Oct 23, 2016, 9:12:53 AM10/23/16
to LAStools - efficient command line tools for LIDAR processing
Hello,

in the latest release of LAStools (161016) there are a couple of new filters that allow you to compute NDVI values on the fly given that a red (R) and a near-infrared (NIR) value are stored in your LAS / LAZ file.

There are several common options how you may have stored R and NIR in your file. The easiest is you are using the new point type 8 of LAS 1.4 that has fields for RGB and NIR. Then your filter would be something like '-keep_NDVI -0.1 0.3'. 

If your RGB colors really are CIR colors then use '-keep_NDVI_from_CIR 0.4 0.8' instead.

The other options are that you have R stored in its usual place but NIR is stored either in the G or the B channel or as the intensity. Then you can do one of the following:

lasview -i xyzRGB.laz -keep_NDVI_intensity_is_NIR 0.4 0.8
lasview -i xyzRGB.laz -keep_NDVI_blue_is_NIR -0.1 0.5 
lasview -i xyzRGB.laz -keep_NDVI_green_is_NIR 0.4 0.8 

Combine "on-the-fly" NDVI filtering with a '-filtered_transform' to set classifications based on NDVI.

las2las -i xyzCIR.laz ^
            -keep_NDVI_from_CIR 0.4 0.8 ^
            -filtered_transform ^
            -set_classification 9 ^
            -odix _class -olaz 

Those can obviously be combined with other filters such as height above ground or color ranges for G or intensity to create more complex filters.

Three typical examples images of '-keep_NDVI_from_CIR 0.4 0.8' for an xyz plus RGB = CIR point cloud are attached.

Regards,

Martin @rapidlasso

Here a complete list of the updates in the most recent release that can always be found at 


16 October 2016 -- laslayers: new option '-add' to add filters and transforms as LASlayers to LAY files
16 October 2016 -- LASlib, las2las: new filters '-keep_attribute_between' and '-drop_attribute_between'
15 October 2016 -- las2dem, las2iso, las2tin: no more endless loop when '-lakes' or '-creeks' input is emtpy
30 September 2016 -- LASlib, las2las: new filter -keep_NDVI_blue_is_NIR -0.1 0.5 (computed from R of RGB and B = NIR)
30 September 2016 -- LASlib, las2las: new filter -keep_NDVI_green_is_NIR 0.4 0.8 (computed from R of RGB and G = NIR)
30 September 2016 -- LASlib, las2las: new filter -keep_NDVI_intensity_is_NIR -0.2 0.2 (computed from R of RGB and intensity = NIR)
30 September 2016 -- LASlib, las2las: new filter -keep_NDVI_from_CIR 0.4 0.8 (computed from RGB = CIR)
30 September 2016 -- LASlib, las2las: new filter -keep_NDVI 0.2 0.7 (computed from R+NIR for point type 8)
29 September 2016 -- LASlib, las2las: new filters -keep_extended_scanner_channel 1 and -drop_extended_scanner_channel 0
25 September 2016 -- lasgrid: better '-false' and '-gray' colors when used with option '-classification'  
las2las_new_ndvi_filter_1.jpg
las2las_new_ndvi_filter_2.jpg
las2las_new_ndvi_filter_3.jpg
Reply all
Reply to author
Forward
0 new messages