Version 9 (modified by mark1, 12 months ago) (diff)

--

Processing the InfraTec IR8300 data

The data are in ascii files with a .asc extension. They have 3 sections, the first 2 containing metadata and the 3rd containing the image data.

The procedure to process the data is:

  • convert asc to tif files for easier managing / tagging using convert_infratec_to_tif.sh
  • tag the images with the navigation information using get_nav_for_infratec_image.py

After this the images are ready to be geocorrected with APL using the photo geocorrection methodology, using photo_geocorrection.py

There is a helper script infratec_quick_run.sh and container process_infratec that can be used to make this a little easier, but loses some functionality of the individual scripts.

Instructions for container method

Build the container if it doesn't already exist (it does!) by using the make_docker.sh script and the -I flag.

Then run it with the following inputs:

COMPULSORY
-i <dir> = input directory of asc files from Infratec instrument
-o <dir> = output directory where tifs and geocorrected imagery goes
-s <file> = SBET file of navigation to tag to images
-c <file> = the config file for the geocorrection

OPTIONAL
-d = delete the intermediate geocorrection files
-r = rotate the Infratec imagery by 180 degrees

It's important that the container can see the drives where the data are - if not in the user home space or /tmp then you must bind the drives to the container. This is easiest done by exporting the global variable SINGULARITY_BIND, e.g. to add the arsf data you may mount like this:

export SINGULARITY_BIND="/users/rsg/arsf/arsf_data/:/users/rsg/arsf/arsf_data/

The command then can be run:

process_infratec.sif -i  /users/rsg/arsf/arsf_data/2022/flight_data/uk/GB22_02-2022_230_Alconbury/thermal/infratec/ImageIR_8300/220818_151730_line14 \
    -o /tmp/quickouts/ \
    -s /users/rsg/arsf/arsf_data/2022/flight_data/uk/GB22_02-2022_230_Alconbury/posatt/applanix/proc/sbet_2022230.out  \
    -c photo_geocorrection.cfg \
    -d \
    -r

Geocorrection config file

For doing the photograph geocorrection you need to create a config file based from the template at: internal-code/tools/frame_camera_tools/photo_geocorrection.cfg

A very basic example will look like this:

[DEFAULT]

[navdata]
run: false

[aplcorr]
run: true
exe: aplcorr
vvfile: /users/rsg/arsf/calibration/2022/infratec/infratec_vv.bil
boresight: 0 0 0
dem: /users/rsg/arsf/arsf_data/2022/flight_data/uk/GB22_02-2022_230_Alconbury/processing/hyperspectral/dem/GB22_02-2022_230-SRTM.dem

[apltran]
run: true
exe: apltran
projstr: EPSG:32630

[aplmap]
run: true
exe: aplmap

Creation of view vectors or running scripts independently

If view vectors don't exist for the camera then you can create some using the make_camera_vv.py script. You will need a camera parameter config file such as the examples in internal-code/tools/frame_camera_tools/parameter_files.

To run this within the singularity container you can open a shell in it:

singularity shell /tmp/process_infratec.sif and then run e.g., make_camera_vv.py --help

or in docker it'll be something like:

docker exec -it <mycontainer> bash