Changes between Version 80 and Version 81 of Procedures/RCDPhotoProcessing


Ignore:
Timestamp:
Feb 6, 2014, 3:31:34 PM (10 years ago)
Author:
mark1
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Procedures/RCDPhotoProcessing

    v80 v81  
    3030
    3131
    32 === Delivery Script ===
     32=== Image Tagging ===
    3333
    34 The script incorporates:
    35  * Tagging the images with positional and navigational data as well as project information
    36  * Renaming the images to conform to ARSF standards
    37  * Generating thumbnail images of the tiffs
    38  * Creating the final kml
    39  * Making final version of the eventfile, including removing any lines referring to photos you have removed
    40  * Creating and populating delivery directory
     34Image tagging inserts exiftags into the TIFF files that contain information such as: project details, camera parameters and photograph pos/att information.
    4135
    42 Run:
     36This is scripted and can be run as follows.
    4337
    44 make_camera_delivery.py -p <main_project_dir> -e <event_file>
     38Assuming a CSV file as output from IPASCO - the first thing to do is to fix the header in the csv file (space delimited file with spaces in the header names!):
    4539
    46 Check the output then run with --final option.
     40{{{rcd_tiff_tagging.py --eventfile <eventfilename> --fixipascoheader <fixedeventfilename>}}}
    4741
    48 If the script fails then you will have to fix the problem and try again, or follow the individual stages listed [wiki:RCDPhotoProcessing/RCDPostProcessing here]. Possible causes of failure, excluding the ones previously mentioned above, could be:
    49  * SOL file GPS times do not overlap with photograph log file times. Either fix the SOL (if possible) else use the logfile to tag the images (and mention in the Read_Me)
     42This creates a new event file with a parseable header. Note that the DEFAULT header is HARD CODED in the script. If it is not the same as the below then you can call the function {{{rcdclasses.FixIPASCOEventFileHeader(filename,newfilename,origheader,newheader)}}} from within python to convert the origheader to the newheader.
     43
     44Default header:
     45{{{
     46     ID Event#    GPS Time(s) Easting(degrees) Northing(degrees) Ell Ht(metres) Omega(deg)   Phi(deg)   Kap(deg)    Lat(deg)     Lon(deg)    Xstd(m)    Ystd(m)    Zstd(m)  Ostd(deg)  Pstd(deg)  Kstd(deg)
     47}}}
     48
     49You are now ready to tag the tiffs. '''rcd_tiff_tagging.py''' has a lot of options to help in the tagging of images, but for usual tagging (i.e. in an ARSF repository porject) you (probably :) ) only need to specify the solfile, eventfile and project location. For other options see the --help. First run I suggest you do as the following:
     50
     51{{{rcd_tiff_tagging.py --eventfile <eventfilename> --solfile <solfilename> --projectlocation <toplevelprojectpath> }}}
     52
     53If that outputs everything OK (no errors etc) then add {{{--final}}} to the command to actually perform the tagging. Note also that the script can be loaded in as a library of functions, and the accompanying rcdclasses.py library is also of use here. This will also create an updated event file in the same directory as the photographs.
     54
     55=== Making the Delivery ===
     56
     57Now that the processing has been completed the delivery can be made. This, as with the hyperspectral and lidar, uses the [wiki:Procedures/DeliveryCreation/pythonlibrary arsf_delivery_library] together with the convenience script make_arsf_delivery.py. An example usage:
     58
     59{{{make_arsf_delivery.py --projectlocation /users/rsg/arsf/arsf_data/2013/flight_data/uk/MYPROJECT --deliverytype camera --steps STRUCTURE}}}
     60
     61check that the output looks correct, and if so repeat with {{{--final}}}. This creates an empty structure. Then run:
     62
     63{{{make_arsf_delivery.py --projectlocation /users/rsg/arsf/arsf_data/2013/flight_data/uk/MYPROJECT --deliverytype camera --notsteps STRUCTURE}}}
     64
     65This will do a dry-run on the camera delivery and output information clearly labelled for each step. You can then proceed running a single step at a time if you so wish, or run the whole lot together.
     66
    5067
    5168=== Creating the Read me ===
    5269
    53  * The above script will generate a config file for the latex PDF script. If it fails for some reason then run `generate_readme_config.py` with the -d option (giving the delivery directory) and "-r camera" as airborne.
     70 * Run `generate_readme_config.py` with the -d option (giving the delivery directory) and "-r camera" as airborne.
    5471 * Edit the config (should be located in processing directory). Remember to add information on any photos which could not be tagged fully, or any images which look like they have anomalies or over/under exposure. To add new line characters enter '\\'. Tagtype should be "full" if photos have been tagged with pos/att information or "min" if only tagged with project details. If both types are present in the delivery then use full and in the "data_quality_remarks" section add a sentence explaining which photos have been unable to be tagged with pos/att and why. Line_numbering should contain a space separated list of names/numbers identifying flight lines.
    5572 * Create the LaTeX TeX file. To create the TeX file use the script create_latex_camera_readme.py with the -f option, giving the location of the config file generated above. This is editable in any text editor and can be manually edited to correct mistakes or insert new text