Changes between Version 6 and Version 7 of Processing/Py6S_vs_Hyperspectral/Advanced_techniques
- Timestamp:
- Aug 24, 2017, 11:15:44 AM (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Processing/Py6S_vs_Hyperspectral/Advanced_techniques
v6 v7 1 = == Py6S advanced techniques ===1 = Py6S - advanced techniques = 2 2 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]]3 On 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. 7 7 8 8 … … 19 19 You 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: 20 20 {{{ 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 21 plot_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 22 23 }}} 23 24 On 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. 24 25 25 26 You can however specify: 27 {{{ 26 28 -s INGROUND, --inground INGROUND 27 29 Input ground spectra to run on Py6S (ground measures: … … 31 33 -x X Sample number 32 34 -y Y Line number 35 }}} 33 36 34 37 If 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. … … 38 41 This 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. 39 42 43 == ''In situ'' Reflectance == 44 If an ''in situ'' spectra has been measured and is available, you can provide this to Py6S rather than using the built in vegetation spectra. 40 45 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) 46 You will need to add `-s` when running the script: 47 {{{ 48 plot_fenix_vs_py6s.py -v -s ./GROUND_SPECTRA_PATH ... 49 }}} 50 (-i -m. -n, --plot are still required) 45 51 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. 52 Currently, 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.