Changes between Version 6 and Version 7 of Processing/Py6S_vs_Hyperspectral/Advanced_techniques


Ignore:
Timestamp:
Aug 24, 2017 11:15:44 AM (2 years ago)
Author:
dac
Comment:

Updates to formatting.

Legend:

Unmodified
Added
Removed
Modified
  • Processing/Py6S_vs_Hyperspectral/Advanced_techniques

    v6 v7  
    1 === Py6S advanced techniques ===
     1= Py6S - advanced techniques =
    22
    3 On this section you will find how to run the Py6S for:
    4   -Plot sepectra for only one flightline in a directory with several ones. Or a specific flightline with different names on IGM, NAV and level1b.[[BR]]
    5   -Chose a pixel by its given (lat,lon) or by its position on the grid (x,y).[[BR]]
    6   -Use in-situ reflectance instead of the predefined by Py6S.[[BR]]
     3On this section you will find how to run the Py6S to:
     4 * Plot sepectra for only one flightline in a directory with several ones. Or a specific flightline with different names on IGM, NAV and level1b.
     5  * Chose a pixel by its given (lat,lon) or by its position on the grid (x,y).
     6  * Use ''in situ'' reflectance instead of the predefined by Py6S.
    77
    88
     
    1919You will need to specify for the same flightline the .bil on level1b, the .igm and the postprocessed .nav file. Be careful not to take the mask files and the same flightline for every file (the script will exit if not). Run the model as the example:
    2020{{{
    21 plot_fenix_vs_py6s.py -i ./flightlines/level1b/f169b141b.bil -m ../../../processing/hyperspectral/flightlines/georeferencing/igm/f169b143b_p_sct20.37.igm -n ./flightlines/navigation/f169b141b_nav_post_processed.bil --plot $output_folder/test -v
     21plot_fenix_vs_py6s.py -i ./flightlines/level1b/f169b141b.bil -m ../../../processing/hyperspectral/flightlines/georeferencing/igm/f169b143b_p_sct20.37.igm \
     22                   -n ./flightlines/navigation/f169b141b_nav_post_processed.bil --plot $output_folder/test -v
    2223}}}
    2324On the example above a pixel is not specified and the script will look for a ramdom vegetation pixel at nadir and create a plot called test.png on the given folder.
    2425
    2526You can however specify:
     27{{{
    2628  -s INGROUND, --inground INGROUND
    2729                        Input ground spectra to run on Py6S (ground measures:
     
    3133  -x X                  Sample number
    3234  -y Y                  Line number
     35}}}
    3336
    3437If you want to look for a specific pixel, you can select it by its position (lat,lon) or by its coordinates (x,y) on the flightline's grid. Note that the script with only accept (lat, lon) inputs within the range of latitude and longitude of the flightline to prevent human errors.
     
    3841This will plot the Fenix spectra against the at-sensor Py6S vegetation model. In this case, both figures will only match if the pixel given as input is a vegetation one and therefore, some caution is recomended when interpreting the plot.
    3942
     43== ''In situ'' Reflectance ==
     44If an ''in situ'' spectra has been measured and is available, you can provide this to Py6S rather than using the built in vegetation spectra.
    4045
    41 === Ground Reflectance ===
    42 If an in-situ ground spectra has been measured and is available, you can run a more precisse Py6S model by giving its path. In this case, the ground reflectance will not be a vegetation type predefined by Py6S and your reflectances values will be computed on the model.
    43 You will need to add -s when running the script:
    44 plot_fenix_vs_py6s.py -v -s ./GROUND_SPECTRA_PATH                                (-i -m. -n, --plot are still required)
     46You will need to add `-s` when running the script:
     47{{{
     48plot_fenix_vs_py6s.py -v -s ./GROUND_SPECTRA_PATH ...
     49}}}
     50(-i -m. -n, --plot are still required)
    4551
    46 Currently, suported formats for ground spectra are .text and .sig files:[[BR]]
    47 -If a .sig file is given, the script will take the latitude and longitude from the file.[[BR]]
    48 -If a text file is given, you need to specify lat, lon or otherwise the script will look for a ramdom vegetation pixel that could not have the same reflectance features that your ground reflectance values.
     52Currently, suported formats for ground spectra are .text and .sig files, new formats should be added to the open source [https://github.com/pmlrsg/PySpectra PySpectra] library
     53
     54* If a .sig file is given, the script will take the latitude and longitude from the file.
     55* If a text file is given, you need to specify lat, lon or otherwise the script will look for a ramdom vegetation pixel that could not have the same reflectance features that your ground reflectance values.