Hello
Mathew,
It's not entire clear to me what you want to do. Assuming you have a tile where the point source ID is correctly populated so that each return from a different flight line has its flight line ID stored in the point source ID field. The you could simply run lasgrid once to generate the stddev of all first returns per 2 by 2 meter pixel:
lasgrid -i tile.laz -keep_last -step 2 -stddev -odix _stddev -obil
then lasoverlap to generate an overlap raster that counts the number of flight lines per 2 by 2 meter pixel to show you where there is more than one flight line:
lasoverlap -i tile.laz -keep_last -values -no_diff -obil
and then use some raster calculation in QGIS / GDAL / GRASS / SagaGIS to cut out only those parts from the first raster where the second raster has pixel values of 2 or more. To correlate that to the (absolute?) scan angle maybe create another raster:
lasgrid -i tile.laz -keep_last -step 2 -scan_angle_abs -highest -odix _scan -obil
and then do whatever comparisons you want to do.
Regards,
Martin @rapidlasso