Processing data from the Teledyne Optech Galaxy LIDAR system
Check https://rsg.pml.ac.uk/intranet/trac/wiki/Projects/ARSF-DAN/teledyne_training for full un-sanitised notes. These need moving to here for relevant notes.
Global preferences
Options and preferences are set up globally, but can be edited either globally (to affect all following projects), within the project (to only affect this project) or per line (to only affect that line).
The instrument RES and LCP files are specific for a sensor and calibration. In the RES file it is possible to change the settings under the RangeResolution (to fix PIA issues) and ipc_filter (to try and filter out atmospheric returns). In the IW4.RES file there is a RangeOffset to gives the time (range) difference between the waveform and discrete data. This needs to be set once (first time) and then should not need changing. The TBL file is for intensity decoding and should not be edited. The LCP file contains the correction parameters such as scan angle offset, boresight, leverarms and polynomials. The CCP file is similar but for the camera. For info, the scan-lag is the time between laser transmit and receive, time-sync is the offset between las point and trajectory, beam-roll/pitch is provided by Teledyne and droop-scanner-poly represents the edges of scan lines.
Preprocessing
- Process the LiDAR navigation system data normally in PosPac. See https://nerc-arf-dan.pml.ac.uk/trac/wiki/Processing/POSPac. Note this should be a separate system specific to the LiDAR, written by default to the pos/ directory within the raw LiDAR data directory
- Navigation output needs to be SBET with *.out extention
- Consider whether SBET navigation data needs to be "flipped" on export
- Also need to get the smrmsg.out file from Mission/Extract/ within the PosPac project structure.
- LMS software needs write permissions to the raw LiDAR range/ sub directory. Be careful and make sure this is the only write permission added to user airborne.
Processing
Full Waveform Extraction This isn't working yet
Flightlines table file has serial number as 0.
Serial numbers for the current (2022 - 2024) are:
- Optech Galaxy 200: 5060465
- IWR4: 5720057
Processing in LMS
- Log on to the windows VM and start up the LMS software (Lidar Mapping Solution).
- Create a new project and save under the flight day processing/lidar/ directory. Make sure the "project" is in a projected coordinate system (e.g. UTM) and the "output" is a supported projection. There is a known bug when setting projection frames, and sometimes the program freezes - in this case need to wobble the reference frame window.
- Create an instrument and open the sensor RES file and LCP file (located in the ~arsf/calibration tree). Make sure to use the version 4.5 (or allow it to convert from 4.4 to 4.5). We currently have copies of these files on the VM at C:\optech_lidar_sensor_files\:
- *.RES
- *.LCP
- *.TBL
- Add a mission to the project. This takes the post-processed SBET from PosPac and SurveyRange (raw lidar) file. Note, not only is the SBET file needed from PosPac, but the "smrmsg_xxx.out" file, which should be in mission/Extract within the project files. Note it's possible to create multiple missions per project. For trajectory select "is already processed". The digitiser type (if used) is IW4. Can use meterological data if available - this is an ASCII file with a time, temperature and air pressure. Usually do not use this. The Trajectory report tab within the mission shows details of the flightlines.
- On the mission, there should be a selection of tabs, click the lidar lines tab which gives an overview of the lines. Select the area to process (use the +Polygon button), and then add the lines to the project (the >>> button followed by the tick). This should now have a list of lines added on the left hand panel.
- For refined processing we need to add a block (for the block adjustment). Before doing this, ensure any cross lines are selected as "cross" rather than "production" (in the lines section).
- Create the block. For production data select "production+sensor corrections"
- You can select which tasks to perform for each line and block in the respective sections and click Set Task. Also check the Set Options pop up too. Ensure that in Las Output the correct options are selected (e.g. with classification, use withheld bit and the LAS format). The tasks are fairly self-explanatory,
- planar surfaces extraction -> extracts planes based on the options given in the preferences
- planes to shapefile -> creates shapefiles for planar surfaces for QCing
- Roof lines extraction -> from all planar surfaces, only find ones similar to roof of houses, for horizontal accuracy checks
- Collect map statistics -> number of points per cell on regular grid (bmp format image)
- RGB extract -> for camera data to assign colour to lidar return
- Galaxy nose classification -> tool to identify noise in point cloud
- LAS file output -> output LAS files
- ASCII file output -> output ASCII files
- Can run lines individually or grouped together.
Note las files with "_r.las" are refined and "_s.las" are standard. These will be in the Output directory. The adjusted LCP file will be in LcpAdjusted (or similar) directory.
Boresight processing
If you have control points you can add a control site. Use this for absolute accuracy report (not self calibration). The control site is an ASCII file with columns ID,X,Y,Z.
When creating the block select "boresight+sensor correction".
For the QC-ing the main 3 things to check are:
- tie planes - RMS should be less than 5cm. Also check the scatter plots (click analyze). They should be narrow (<5cm) and straight (horizontal). Curved ones suggest a poor scanner polynomial and slanted suggests poor boresight. It is possible to analyze in 3D to see where the tie planes are wrt other points.
- roof lines - use this for horizontal accuracy checks. The RMS should be less than (altitude above ground / 10000).
- height difference maps - in the output directory there is a PNG for the adjusted height difference. Check that it looks good (<5cm differences in the flat areas and across the images, trees etc will have higher).
If there are problems then you can create a new instrument from the adjusted LCP file and reprocess, then do the QC again.
There are "project shapefiles" in the project tab that allows you to see locations of tie planes and roof lines etc.
Waveform processing
Block corrections are derived from discrete data and then applied to the waveform data. The additional output file is las file "_w.las". Is also possible to output PulseWaves files PLS (pulse) WVS (waves).
To process:
- Create a new project
- Define the instrument (from the IW4 RES)
- Create a mission, load trajectory etc
- Select surveyrange file
- Ensure select IWR4 digitiser
- add table file - this is the file named like "IWR4 * _List" in the IWR4 directory. It is an ascii list of the .ix4 files (ordered)
- met file can help when very cold or flying very high
- Select the lines and set tasks in the ALS lines section and process.
For details check out the IWR4 user manual for definitions of parameters etc.
Troubleshooting
PIA confusion - this shows itself as "ground" points being at different levels - e.g. there may appear to be a ground surface 100 m above another ground surface. The distance between them will be the size of a PIA zone so measure it to check this is the cause. The RangeResolution settings in the RES file can help with this (maybe).
Digitiser data: The raw data (00_raw) is the T0 channel data (transmit time), and (01_raw) the receive data (receive time). The 00 file should be a lot smaller than 01. In the WaveViewer, the lefthand panel is the T0 pulse and the righthand side is the return. The range is the range within the specific PIA zone (not the range to the ground).