Changes between Version 24 and Version 25 of Sensors/LeicaLIDAR/MikesNotes


Ignore:
Timestamp:
Sep 5, 2008 4:04:04 PM (11 years ago)
Author:
mggr
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Sensors/LeicaLIDAR/MikesNotes

    v24 v25  
    1 
    2 
    3 == Ground classification ==
    4 
    5 Classification is the process of labelling the points in the point cloud by type.  Ground classification specifically refers to labelling points that're considered to be part of the ground(!)  This is a required step for the automatic boresight procedure.
    6 
    7 Steps:
    8  * remove very low, noisy points from consideration first
    9    * e.g. remove groups of up to 3 points > 1m below neighbours (iterate a few times so it settles)
    10  * classify groups of low points as ground (run N times to settle), takes account of neighbours
    11  * repeat with singletons
    12  * remove isolated points (>5m from any other point)
    13  * manually "add points to ground" for areas that should be ground but haven't been classified as such (e.g. peaks of hills) and rerun process above
    14 
    15 Run as a macro.  Terra->tools->macro->new.
    16 
    17 
    18 == QC procedures ==
     1= LIDAR processing notes =
     2
     3Notes from visit to Leica, Switzerland on 11/Aug/2008.
     4
     5Contact email:
     6 * sensors_emea@leica-geosystems.com
     7 * Various support engineers at Leica.  The one that trained us was Barbara Haebler.
     8
     9FTP site (for updates, etc):
     10 * ftp://airborne:LsA36GmW@ftp.leica-geosystems/airborne/
     11 * problem uploads to go to incoming/ dir
     12
     13== Things that may go wrong ==
     14
     15=== In flight ===
     16
     17Flying too low - if the LIDAR detects that the laser power may be too high for eye safety, it will cut out the laser automatically (if you're a seagull looking up, bad luck, it only accounts for ground height).
     18
     19Flying outside the "range gate" (acceptable ranges of distances) may cause similar effects.  Going too high will tend to make the edges of the swath drop out first (due to path length).
     20
     21Automatic gain control weirdness - the measured intensity is returned via an AGC which may step up or down depending on the returns from the ground.  Measured return intensity should only be used as a guideline rather than a real measurement.
     22
     23Laser power too high - if the intensity overflows (reaches 255), the intensity based range correction will probably be wrong.  For example, a freshly asphalted road with bright white reflective (overflowing) strips may appear with the strips appearing to float up to 20cm above the road surface.
     24
     25Water absorbs IR, so expect poor returns from wet surfaces.  Ideally one should wait for a whole dry day after rain.
     26
     27=== In processing ===
     28
     29Most Leica systems are mounted "laser backwards" (cables will be at the rear if this is so) - ensure that z=180 in the IPAS Pro aircraft tab.
     30
     31Streaky intensity images - "bad, contact support for guidance".  These will probably cause range errors due to the intensity variation, no idea what the cause would be as yet..
     32
     33Poor accuracy at edges - consider trimming the swath width (reduce processed angle) to cut off bad edges.
     34
     35=== Other error sources ===
     36
     37Atmospheric effects; the light path may bend due to atmospheric refraction, density effects, etc causing the laser to hit the ground earlier or later than expected, or in a different position.  This will be most noticeable at the edges of the swath where there are longer path lengths (and more atmosphere to pass through) and may look like the swath curls up or down at the edges (path length error), or may look like compression or stretching of the edges (if there is horizontal divergence).  The error was claimed to be a fraction of a meter at 6km altitude (i.e. not well bounded).  Measurement of temperature may help with this effect, but was said to be a minor value.
     38
     39Range correction error; if the range correction is wrong, the electronics will measure the path length incorrectly.  Points at nadir will be in error vertically only and points at the edge will have a vertical and horizontal error.  The error will make a flat piece of land look like a smile and the nadir point will be below the expected land surface (one can only get "late" measurements?).
     40
     41Torsion (of mirror) error; the mirror may be out of the expected position at the edges of the swath due to it bending under high acceleration.  There will be no error at nadir (no acceleration) and errors at the edges, inducing a smile effect again, but with the nadir at the correct height.  Range errors should be corrected before working on the torsion error, and the nadir point should be used for the range correction as there will be no mirror torsion effect there.
     42
     43MPiA mode errors: if a seagull gets in the way of the second pulse before the first pulse has returned, things will mess up.  On an edge of a very unluckily placed cloud, this would look a bit like the cloud merging into the ground.  Presumably rare or minor.
     44
     45
     46== Mission planning considerations ==
     47
     48Water absorbs IR, so expect poor returns from wet surfaces.  Ideally one should wait for a whole dry day after rain.
     49
     50For differential GPS, aim to have a base station nearby (within 20km) and ideally in center of the scene.  Base station data should be recorded at 2Hz
     51
     52Ideally choose a time with a good GPS constellation (lots of satellites, PDOP >= 4).
     53
     54Consider terrain and minimum target size to determine required point density.  Steep terrain may cause shadowing effects due to perspective.
     55
     56Consider reflectivity of surface - lighter surfaces need less laser power.  Too high a power means intensity overflows on the reflection, which mess up the range - AGC should deal with this for large areas but it should be considered in planning, particularly for small bright targets on a generally darker background.  Assume 10% reflectivity is typical.
     57
     58Recommended to do a figure 8 loop at the start and end of the data acquisitions to make the IMU happy.  Need one at the end for reverse navigation processing.
     59
     60== Overall system design and comments of note ==
     61
     62System is a Leica ALS50 (phase II) LIDAR.  There is an accompanying 39 megapixel [7216x5412, 12bit] digital camera, referred to as the "RCD".
     63
     64A GPS receiver and IMU (brand?) are included.  The LIDAR, RCD and IMU, are mounted on a shock plate to protect it from strong movements - this will also isolate the IMU from the hyperspectral imaging sensors.
     65
     66The IPAS controller (name correct?) allows for event recording, amongst other things.  Phil plans to use this to record frame sync pulses from Eagle and Hawk.
     67
     68There are also some associated control and display devices for operator and pilot usage.
     69
     70=== How it works ===
     71
     72The LIDAR works by firing a (4ns or 9ns) laser pulse downwards and measuring the roundtrip time for the light pulse to return, then converting this to a distance.  The pulse isn't modulated by a carrier - it's just an on/off pulse.  There are four timing cards ("range cards R1-R4") running for a pulse, so up to 4 returns can be detected (R4 actually detects the last return rather than the 4th?).  The system has a "MPiA" (Multiple Pulses in the Air) mode, which fires two pulses evenly separated, rather than waiting for the first to come back before firing another [SPiA mode, times out in case the pulse is eaten].  To measure this, there are actually two banks of timing cards (bank A and bank B, both with R1-R4 cards), so there are 8 timing cards in total.
     73
     74A minimum time separation between two returns means the minimum distance between two returns must be at least 2.7m for them to be counted as independent.  The expectation for the number of returns is 1 return ~100%, 2 returns ~10%, 3 returns ~1%, 4 returns ~0.1% of points - obviously this varies with the terrain.  When there are 4 returns, each range card measures the time of the return pulse.  When there are less than 4 returns, R4 is a second measurement (not a copy of) of the last pulse - i.e. if there are 2 returns, you will have R1, R2 and R4 (= re-measurement of R2).
     75
     76The intensity of a return is measured only for the first 3 returns (R1-R3), and is an 8 bit value (0=dark (water), 255=bright) relating to the reflectivity of the illuminated surface.  The value is amplified by an automatic gain controller, and is not related to a physical measure (can it be?).  The intensity can be used in various processing algorithms to help distinguish transitions between surfaces.  The AGC tries to keep the intensity in the range 100-150 or so.
     77
     78The laser is scanned across a (up-to) 75 degree swath by an oscillating mirror.  Due to the acceleration/deceleration of the mirror, this produces a sinusoidal pattern to the trace on the ground, with the highest density of points at the peak and trough of the sine wave (i.e. at the edges of the swath).  If the swath width is set to less than 75 degrees (45 degrees recommended), there's a roll compensation mechanism that tries to smooth out small roll movements by using the remaining freedom of motion.  The scan rate of the mirror is dependent on the FOV angle (36Hz for 40 degree FOV, 24Hz for a 75 degree FOV, calculate with 412.33 * FOV^-0.6548).
     79
     80The laser is an 8W class 4 laser, operating in the infrared range.  The divergence results in approximately a 22cm spot on the ground when fired from 1000m up.
     81
     82Controllable parameters:
     83 * laser intensity (0 -> 8W output), controlled by operator as a percentage output.  Has safety cutouts if the light level at the ground could cause eye damage.
     84
     85 * altitude (kinda a parameter ;) ) - minmium of ~650 up to ~2000m (after 2km, you start getting poor returns on forests, etc, the real limit is up to about 6km in ideal conditions)
     86 * ... pulse frequency, scan angle, etc [TBD]
     87
     88=== Automatic Gain Control ===
     89
     90The intensity of a return is measured (R1-R3) as an 8 bit value (0=dark (water), 255=bright) relating to the reflectivity of the illuminated surface.  The value is amplified by an automatic gain controller to keep it within 8 bit range.  The value of the AGC is also measured as an 8 bit value and is recorded per pulse as the "gain control voltage" in the raw files.  Typical values are 110-180.
     91
     92The AGC is controlled automatically in our LIDAR, but operates on a threshold basis.  If there are N (64?) low intensity points in a row, the AGC will step up one level.  If there are M (32?) overbright points in a row, the AGC will step down.  This may lead to visible steps in the image intensity, but isn't supposed to be a big problem.  Look out for streaky areas though ("contact support if you see this" - though not sure why).
     93
     94
     95== RCD camera ==
     96
     97The system has a 39 megapixel digital camera, referred to as the "RCD", with the following characteristics:
     98 * 7216x5412 resolution, 12bit [=~57MB raw]
     99 * 60mm lenses (changeable), with 44.2 degree x 34 degree FOV
     100 * pixel size 6.8microns (= ~15cm ground resolution at 1350m)
     101 * 1/4000 exposure time, 2.2s per frame
     102 * serial number 21
     103 * shutter is curtain style, taking 8ms to open and close, so there's a 4ms time difference between the top and bottom of the CCD stopping acquiring light
     104
     105Logfiles contain various handy info, notably the image event file contains GPS time, pos/att and picture id
     106
     107Calibration files are required and supplied by Leica (dark, gain and camera parameters).
     108
     109File name convention is: `DDHHMMSSXXXXXXGN.raw`
     110 * DD = day of month
     111 * HHMMSS = timestamp
     112 * XXXXXX = incrementing picture id
     113 * G = gain (1-4)
     114
     115=== Orthophotos ===
     116
     117This apparently takes another week long training course.  We do have the basic software to do it but limited knowledge.  Basic process is to determine the camera parameters, correct and overlay the images, keeping ideally only the most central parts.  You then have to manually check through, especially along seams, and manually move the seam line in some instances (e.g. when perspective effects result in odd errors due to the seam hitting a tall building).
     118
     119
     120== Recommendations ==
     121
     122Perform calibrations frequently at the start of the period to get a feel for how they hold.  Reduce down to fit circumstances over time.
     123
     124== Required items for processing ==
     125
     126Items required from every flight:
     127 * GPS and IMU data (including a basestation if not using PPP)
     128 * Raw laser data
     129 * Logfiles from LIDAR
     130   * Flight logfiles are useful too, if the LIDAR flight planning software is used
     131 * RCD & webcam images
     132 * Pressure and temperature measurements at the plane position above the site [this affects how long it takes the laser light to move through the air]
     133
     134Items required in general:
     135 * calibration (see elsewhere)
     136 * lever arm measurements
     137
     138= Processing =
     139== Extraction ==
     140
     141Use IPAS Pro to extract GPS, IMU and laser data from the raw files.
     142 * probably worth having the real time navigation info (doesn't add a lot of processing time)
     143 * during extraction, view the listing and verify the lever arms are correct (IMU one should never change).
     144 * look out for data gaps (listed in log)
     145
     146
     147Most Leica systems are mounted "laser backwards" (cables will be at the rear if this is so) - ensure that z=180 in the IPAS Pro aircraft tab.
     148
     149== Navigation processing ==
     150
     151See other pages on navigation processing as they cover this already.
     152
     153
     154== Initial QC ==
     155
     156See if the lines are too short or if the point cloud has poor return %s.  If so, check the following (look at webcam images for hints):
     157 * clouds
     158 * height problem ("range gate" issue)
     159   * eyesafe shutoff (too close to ground)
     160   * too high may give dropouts
     161   * find altitude over ground (measured GPS alt - geoid-spheroid height) and see if it's within the min & max ranges
     162
     163Laser power too high - if the intensity overflows (reaches 255), the intensity based range correction will probably be wrong.  For example, a freshly asphalted road with bright white reflective (overflowing) strips may appear with the strips appearing to float up to 20cm above the road surface.
     164 * filter out incorrect points (based on high intensity and height difference from locality?)
     165 * also, if you observe odd spikes, check for intensity over 150 - this may indicate a two-peaked response with the first peak being 150 (and being the detected one) and the second being 255 (overflow), causing the effect above
     166
     167
     168== Full QC procedures ==
    19169
    20170''Mark seems to have covered these better, and this will need some detailed clicky info, key concepts only here''
     
    29179
    30180
    31 == Automatic Gain Control ==
    32 
    33 The intensity of a return is measured (R1-R3) as an 8 bit value (0=dark (water), 255=bright) relating to the reflectivity of the illuminated surface.  The value is amplified by an automatic gain controller to keep it within 8 bit range.  The value of the AGC is also measured as an 8 bit value and is recorded per pulse as the "gain control voltage" in the raw files.  Typical values are 110-180.
    34 
    35 The AGC is controlled automatically in our LIDAR, but operates on a threshold basis.  If there are N (64?) low intensity points in a row, the AGC will step up one level.  If there are M (32?) overbright points in a row, the AGC will step down.  This may lead to visible steps in the image intensity, but isn't supposed to be a big problem.  Look out for streaky areas though ("contact support if you see this" - though not sure why).
    36 
    37 == RCD camera ==
    38 
    39 The system has a 39 megapixel digital camera, referred to as the "RCD", with the following characteristics:
    40  * 7216x5412 resolution, 12bit [=~57MB raw]
    41  * 60mm lenses (changeable), with 44.2 degree x 34 degree FOV
    42  * pixel size 6.8microns (= ~15cm ground resolution at 1350m)
    43  * 1/4000 exposure time, 2.2s per frame
    44  * serial number 21
    45  * shutter is curtain style, taking 8ms to open and close, so there's a 4ms time difference between the top and bottom of the CCD stopping acquiring light
    46 
    47 Logfiles contain various handy info, notably the image event file contains GPS time, pos/att and picture id
    48 
    49 Calibration files are required and supplied by Leica (dark, gain and camera parameters).
    50 
    51 File name convention is: `DDHHMMSSXXXXXXGN.raw`
    52  * DD = day of month
    53  * HHMMSS = timestamp
    54  * XXXXXX = incrementing picture id
    55  * G = gain (1-4)
    56 
    57 === Orthophotos ===
    58 
    59 This apparently takes another week long training course.  We do have the basic software to do it but limited knowledge.  Basic process is to determine the camera parameters, correct and overlay the images, keeping ideally only the most central parts.  You then have to manually check through, especially along seams, and manually move the seam line in some instances (e.g. when perspective effects result in odd errors due to the seam hitting a tall building).
    60 
    61 = LIDAR processing notes =
    62 
    63 Notes from visit to Leica, Switzerland on 11/Aug/2008.
    64 
    65 Contact email:
    66  * sensors_emea@leica-geosystems.com
    67  * Various support engineers at Leica.  The one that trained us was Barbara Haebler.
    68 
    69 FTP site (for updates, etc):
    70  * ftp://airborne:LsA36GmW@ftp.leica-geosystems/airborne/
    71  * problem uploads to go to incoming/ dir
    72 
    73 == Things that may go wrong ==
    74 
    75 === In flight ===
    76 
    77 Flying too low - if the LIDAR detects that the laser power may be too high for eye safety, it will cut out the laser automatically (if you're a seagull looking up, bad luck, it only accounts for ground height).
    78 
    79 Flying outside the "range gate" (acceptable ranges of distances) may cause similar effects.  Going too high will tend to make the edges of the swath drop out first (due to path length).
    80 
    81 Automatic gain control weirdness - the measured intensity is returned via an AGC which may step up or down depending on the returns from the ground.  Measured return intensity should only be used as a guideline rather than a real measurement.
    82 
    83 Laser power too high - if the intensity overflows (reaches 255), the intensity based range correction will probably be wrong.  For example, a freshly asphalted road with bright white reflective (overflowing) strips may appear with the strips appearing to float up to 20cm above the road surface.
    84 
    85 Water absorbs IR, so expect poor returns from wet surfaces.  Ideally one should wait for a whole dry day after rain.
    86 
    87 === In processing ===
    88 
    89 Most Leica systems are mounted "laser backwards" (cables will be at the rear if this is so) - ensure that z=180 in the IPAS Pro aircraft tab.
    90 
    91 Streaky intensity images - "bad, contact support for guidance".  These will probably cause range errors due to the intensity variation, no idea what the cause would be as yet..
    92 
    93 Poor accuracy at edges - consider trimming the swath width (reduce processed angle) to cut off bad edges.
    94 
    95 === Other error sources ===
    96 
    97 Atmospheric effects; the light path may bend due to atmospheric refraction, density effects, etc causing the laser to hit the ground earlier or later than expected, or in a different position.  This will be most noticeable at the edges of the swath where there are longer path lengths (and more atmosphere to pass through) and may look like the swath curls up or down at the edges (path length error), or may look like compression or stretching of the edges (if there is horizontal divergence).  The error was claimed to be a fraction of a meter at 6km altitude (i.e. not well bounded).  Measurement of temperature may help with this effect, but was said to be a minor value.
    98 
    99 Range correction error; if the range correction is wrong, the electronics will measure the path length incorrectly.  Points at nadir will be in error vertically only and points at the edge will have a vertical and horizontal error.  The error will make a flat piece of land look like a smile and the nadir point will be below the expected land surface (one can only get "late" measurements?).
    100 
    101 Torsion (of mirror) error; the mirror may be out of the expected position at the edges of the swath due to it bending under high acceleration.  There will be no error at nadir (no acceleration) and errors at the edges, inducing a smile effect again, but with the nadir at the correct height.  Range errors should be corrected before working on the torsion error, and the nadir point should be used for the range correction as there will be no mirror torsion effect there.
    102 
    103 MPiA mode errors: if a seagull gets in the way of the second pulse before the first pulse has returned, things will mess up.  On an edge of a very unluckily placed cloud, this would look a bit like the cloud merging into the ground.  Presumably rare or minor.
    104 
    105 
    106 == Mission planning considerations ==
    107 
    108 Water absorbs IR, so expect poor returns from wet surfaces.  Ideally one should wait for a whole dry day after rain.
    109 
    110 For differential GPS, aim to have a base station nearby (within 20km) and ideally in center of the scene.  Base station data should be recorded at 2Hz
    111 
    112 Ideally choose a time with a good GPS constellation (lots of satellites, PDOP >= 4).
    113 
    114 Consider terrain and minimum target size to determine required point density.  Steep terrain may cause shadowing effects due to perspective.
    115 
    116 Consider reflectivity of surface - lighter surfaces need less laser power.  Too high a power means intensity overflows on the reflection, which mess up the range - AGC should deal with this for large areas but it should be considered in planning, particularly for small bright targets on a generally darker background.  Assume 10% reflectivity is typical.
    117 
    118 Recommended to do a figure 8 loop at the start and end of the data acquisitions to make the IMU happy.  Need one at the end for reverse navigation processing.
    119 
    120 == Overall system design and comments of note ==
    121 
    122 System is a Leica ALS50 (phase II) LIDAR.  There is an accompanying 39 megapixel [7216x5412, 12bit] digital camera, referred to as the "RCD".
    123 
    124 A GPS receiver and IMU (brand?) are included.  The LIDAR, RCD and IMU, are mounted on a shock plate to protect it from strong movements - this will also isolate the IMU from the hyperspectral imaging sensors.
    125 
    126 The IPAS controller (name correct?) allows for event recording, amongst other things.  Phil plans to use this to record frame sync pulses from Eagle and Hawk.
    127 
    128 There are also some associated control and display devices for operator and pilot usage.
    129 
    130 === How it works ===
    131 
    132 The LIDAR works by firing a (4ns or 9ns) laser pulse downwards and measuring the roundtrip time for the light pulse to return, then converting this to a distance.  The pulse isn't modulated by a carrier - it's just an on/off pulse.  There are four timing cards ("range cards R1-R4") running for a pulse, so up to 4 returns can be detected (R4 actually detects the last return rather than the 4th?).  The system has a "MPiA" (Multiple Pulses in the Air) mode, which fires two pulses evenly separated, rather than waiting for the first to come back before firing another [SPiA mode, times out in case the pulse is eaten].  To measure this, there are actually two banks of timing cards (bank A and bank B, both with R1-R4 cards), so there are 8 timing cards in total.
    133 
    134 A minimum time separation between two returns means the minimum distance between two returns must be at least 2.7m for them to be counted as independent.  The expectation for the number of returns is 1 return ~100%, 2 returns ~10%, 3 returns ~1%, 4 returns ~0.1% of points - obviously this varies with the terrain.  When there are 4 returns, each range card measures the time of the return pulse.  When there are less than 4 returns, R4 is a second measurement (not a copy of) of the last pulse - i.e. if there are 2 returns, you will have R1, R2 and R4 (= re-measurement of R2).
    135 
    136 The intensity of a return is measured only for the first 3 returns (R1-R3), and is an 8 bit value (0=dark (water), 255=bright) relating to the reflectivity of the illuminated surface.  The value is amplified by an automatic gain controller, and is not related to a physical measure (can it be?).  The intensity can be used in various processing algorithms to help distinguish transitions between surfaces.  The AGC tries to keep the intensity in the range 100-150 or so.
    137 
    138 The laser is scanned across a (up-to) 75 degree swath by an oscillating mirror.  Due to the acceleration/deceleration of the mirror, this produces a sinusoidal pattern to the trace on the ground, with the highest density of points at the peak and trough of the sine wave (i.e. at the edges of the swath).  If the swath width is set to less than 75 degrees (45 degrees recommended), there's a roll compensation mechanism that tries to smooth out small roll movements by using the remaining freedom of motion.  The scan rate of the mirror is dependent on the FOV angle (36Hz for 40 degree FOV, 24Hz for a 75 degree FOV, calculate with 412.33 * FOV^-0.6548).
    139 
    140 The laser is an 8W class 4 laser, operating in the infrared range.  The divergence results in approximately a 22cm spot on the ground when fired from 1000m up.
    141 
    142 Controllable parameters:
    143  * laser intensity (0 -> 8W output), controlled by operator as a percentage output.  Has safety cutouts if the light level at the ground could cause eye damage.
    144 
    145  * altitude (kinda a parameter ;) ) - minmium of ~650 up to ~2000m (after 2km, you start getting poor returns on forests, etc, the real limit is up to about 6km in ideal conditions)
    146  * ... pulse frequency, scan angle, etc [TBD]
    147 
    148 == Recommendations ==
    149 
    150 Perform calibrations frequently at the start of the period to get a feel for how they hold.  Reduce down to fit circumstances over time.
    151 
    152 == Required items for processing ==
    153 
    154 Items required from every flight:
    155  * GPS and IMU data (including a basestation if not using PPP)
    156  * Raw laser data
    157  * Logfiles from LIDAR
    158    * Flight logfiles are useful too, if the LIDAR flight planning software is used
    159  * RCD & webcam images
    160  * Pressure and temperature measurements at the plane position above the site [this affects how long it takes the laser light to move through the air]
    161 
    162 Items required in general:
    163  * calibration (see elsewhere)
    164  * lever arm measurements
    165 
    166 = Processing =
    167 == Extraction ==
    168 
    169 Use IPAS Pro to extract GPS, IMU and laser data from the raw files.
    170  * probably worth having the real time navigation info (doesn't add a lot of processing time)
    171  * during extraction, view the listing and verify the lever arms are correct (IMU one should never change).
    172  * look out for data gaps (listed in log)
    173 
    174 
    175 Most Leica systems are mounted "laser backwards" (cables will be at the rear if this is so) - ensure that z=180 in the IPAS Pro aircraft tab.
    176 
    177 == Navigation processing ==
    178 
    179 See other pages on navigation processing as they cover this already.
    180 
    181 
    182 == Initial QC ==
    183 
    184 See if the lines are too short or if the point cloud has poor return %s.  If so, check the following (look at webcam images for hints):
    185  * clouds
    186  * height problem ("range gate" issue)
    187    * eyesafe shutoff (too close to ground)
    188    * too high may give dropouts
    189    * find altitude over ground (measured GPS alt - geoid-spheroid height) and see if it's within the min & max ranges
    190 
    191 Laser power too high - if the intensity overflows (reaches 255), the intensity based range correction will probably be wrong.  For example, a freshly asphalted road with bright white reflective (overflowing) strips may appear with the strips appearing to float up to 20cm above the road surface.
    192  * filter out incorrect points (based on high intensity and height difference from locality?)
    193  * also, if you observe odd spikes, check for intensity over 150 - this may indicate a two-peaked response with the first peak being 150 (and being the detected one) and the second being 255 (overflow), causing the effect above
    194181
    195182--------------------------
     
    413400
    414401
     402=== Ground classification ===
     403
     404Classification is the process of labelling the points in the point cloud by type.  Ground classification specifically refers to labelling points that're considered to be part of the ground(!)  This is a required step for the automatic boresight procedure.
     405
     406Steps:
     407 * remove very low, noisy points from consideration first
     408   * e.g. remove groups of up to 3 points > 1m below neighbours (iterate a few times so it settles)
     409 * classify groups of low points as ground (run N times to settle), takes account of neighbours
     410 * repeat with singletons
     411 * remove isolated points (>5m from any other point)
     412 * manually "add points to ground" for areas that should be ground but haven't been classified as such (e.g. peaks of hills) and rerun process above
     413
     414Run as a macro.  Terra->tools->macro->new.
     415
     416
    415417--------------
    416418= Random snippets =