Version 3 (modified by adbe, 7 years ago) (diff)

--

Hyperspectral processing issues

This page details common problems with hyperspectral processing and their solutions.

apl

Dark Frames
If there are missing dark frames for a line extract some from another file. To find a matching file look for a hdr file with matching:

  • Bands
  • Samples
  • fps
  • tint

If you cannot find a matching tint value this can be solved later, look for files from the same year and closest julian day possible.

Then run: extract_dark_frames -i VNIR300-08-1.raw -o VNIR300-08-1-dark_frames.bil

This will extract the dark frames to an output file that is then specified in the aplcal section of processing: cal_args_extra = -darkfile VNIR300-08-1-dark_frames.bil

If the tint does not match then you need to scale the dark frames, this in done: dark_frame_scaling.py -i VNIR300-08-1-dark_frames.bil -t 10

This will scale the dark frames values so that the the tint matches the file with missing dark frames.

az

Sync

If you get something in the log file like:

End of POSATT file with NO Specim sync found no sync within 5.00 secs of raw file header time: 49915.66

then there is no sync info in the nav file for that line and and the range of possible sct values will increase (up to a few seconds). You will need to include 'has_sync = false' in the config file line entry and input a wider range of scts, e.g.

[hawk_-11] ... ... ... has_sync = false sctend = -1 sctincrement = -0.1 sctstart = 1

[hawk_-12] ...

A less likely reason for the above output is that the raw header file in question contains invalid GPS times (either start time or end time) and therefore also results in not lying within the times of the .nav file. If both GPS Starting Position and GPS Start Time are missing (accordingly for End Position/End Time) then the best guess is to replace the invalid time/position with the raw header file from the other sensor (eagle/hawk), making sure that it is the correct corresponding flightline. If only one of the two are missing, time or position, then the navigation files should be used to find the missing data, this is easier done when the position is missing (open .gpb file from applanix/extract) but still possible when the time is missing (.gpb again, but will have to track position).

Turns

If you get something in the log file like:

flight line may have a turn in it heading spread over approximately: 120 degs

run terminated due to turn

then there is a bend in the line that is too sharp. You need to add a -bend flag to the azcorr arguments for the line entry in the config file, e.g.

[eagle_-7] ... ... ... azgcorr_args_extra = -bend

[eagle_-8] ...

Once processed, it is best to exclude the lines which are causing the problems by including a -l flag in azspec followed by the line numbers delineating the part of the line you want to keep, then reprocessing. E.g. if the bend is at the start of the line:

[eagle_-7] ... ... ... azgcorr_args_extra = -bend azspec_args_extra = -l 50 2000

will exclude the first 50 lines. Make sure the second value takes into account dark frames: the number of lines given in the header file will include dark frames and if you want to process to the end of the line you should therefore specify the line number before the figure given in 'autodarkstartline' (also in the header file).