// ------------------------------------------------------------------------
// $Id: ossim_preferences_template 21742 2012-09-14 19:00:24Z dburken $
// 
// Description:  ossim_preferences_template
// 
// This file will be automatically loaded by ossim applications provided the
// environment variable "OSSIM_PREFS_FILE" is set to point to some form of 
// this file.
//
// Note:  c++ comments "//" can be used to comment a line.
//
// To set the environment variable for automatic preference file loading:
//
// This assumes a preference file in your home called "ossim_preferences".
// Typically this would be put in a dot file read at startup of a shell.
//
// tcsh and csh users:  setenv OSSIM_PREFS_FILE ~/ossim_preferences
//
// bash and sh users:   export OSSIM_PREFS_FILE=~/ossim_preferences
// 
// windoze users:       I'll have to look this up...
//
// You can also use the "-P <preference_file>" option at application startup.
// where <preference_file> is full path and filename.
//
// Note that system environment variables found in this ossim preferences
// file in the format "$(env_var_name)" will be expanded in place.
// 
// ------------------------------------------------------------------------

// ---
// Keyword pair: 
// elevation_source.type
// elevation_source.filename 
// 
// Indicates an elevation source.  These should be listed in pairs.  Numbering
// should start with 1 with lowest number being the highest resolution.  This
// can be a cell(file) or a directory.
// 
// There are four elevation_source.type types:
// elevation_source.type: dted_directory
// elevation_source.type: srtm_directory
// elevation_source.type: general_raster_directory
// 
// The elevation_source.connection_string is a connection for your database.  Typically this is a directory location.
// 
// NOTES:
// The elevation_source keyword replaces the deprecated keywords:
// dted_directory
// image_directory
// srtm_directory
// dted_cell
// 
//
// We support bringing cells into memory for dted and srtm datasets.  You can also control the number of open cells by
// specifying a min and max open cells.  If the number of cells opened exceeds the maximum then it will shrink the active
// opened cells to the minumum.  We currently use a least recently used algorithm.
// Examples:
//---
//elevation_manager.elevation_source1.connection_string: $(OSSIM_DATA)/elevation/srtm1
//elevation_manager.elevation_source1.type: srtm_directory
//elevation_manager.elevation_source1.min_open_cells: 25
//elevation_manager.elevation_source1.max_open_cells: 50
//elevation_manager.elevation_source1.memory_map_cells: true
//elevation_manager.elevation_source1.geoid.type: geoid1996

//elevation_manager.elevation_source2.type: dted_directory
//elevation_manager.elevation_source2.connection_string: $(OSSIM_DATA)/elevation/dted/1k
//elevation_manager.elevation_source2.min_open_cells: 25 
//elevation_manager.elevation_source2.max_open_cells: 50 
//elevation_manager.elevation_source2.memory_map_cells: true
//elevation_manager.elevation_source2.geoid.type: geoid1996

//elevation_manager.elevation_source3.connection_string: $(OSSIM_DATA)/elevation/general_raster_srtmplus
//elevation_manager.elevation_source3.type: general_raster_directory
//elevation_manager.elevation_source3.min_open_cells: 25 
//elevation_manager.elevation_source3.max_open_cells: 50 
//elevation_manager.elevation_source3.memory_map_cells: false

//elevation_manager.elevation_source1.connection_string: $(OSSIM_DATA)/elevation/srtm/3arc
//elevation_manager.elevation_source1.type: image_directory
//elevation_manager.elevation_source1.min_open_cells: 25
//elevation_manager.elevation_source1.max_open_cells: 50
//elevation_manager.elevation_source1.memory_map_cells: false
//elevation_manager.elevation_source1.geoid.type: geoid1996


// Identity geoid is 0 everywhere, so MSL = Ellipsoid. Useful when DEM provides posts 
// relative to ellipsoid instead of customary MSL. This is specific to each elev database:
//elevation_manager.elevation_source3.geoid.type: identity

// Default height above ellipsoid, for use when no elev data is present, instead of returning NAN:
//elevation_manager.default_height_above_ellipsoid: 0.0

// this is n elevation offset that is added to the height returned from the elevation manager.
// if the value is nan then nothing is added.
//
//elevation_manager.elevation_offset: nan

// Allows one to specify to the elevation manager to use the ellipsoid offset as defined by the geoid manager if a getHeightAboveEllipsoid fails
//
//elevation_manager.use_geoid_if_null: true

// ---
// Keyword:  default_elevation_path
// Default path for the elevation manager popup "Add" to start at.
default_elevation_path:  /images/elevation/srtm/1arc
// ---

// ---
// Keyword:  elevation.enabled
// If disabled calls to the elevation manager getHeightAboveMSL and 
// getHeightAboveEllipsoid will return a null height.  (default=true)
// Use: "true", "yes", "y" or "1" to enable, 
//      "false", "no", "n" or "0" to disable.
elevation_manager.enabled:  true
// ---

// ---
// Location of datum grids:
//
// Snip from: http://www.ngs.noaa.gov/TOOLS/Nadcon/Nadcon.html
// 
// Advances in the accuracies now obtainable in geodetic surveys, specifically
// through use of differential GPS, has allowed for the creation of state 
// High Precision Geodetic Networks (HPGNs), also referred to as High Accuracy
// Reference Networks (HARNs) throughout the country.
// 
// Latest ftp location(20100206):
// ftp://ftp.ngs.noaa.gov/pub/pcsoft/nadcon/
//
// ---
// datum_grids: $(OSSIM_DATA)/ossim/elevation/nadcon-grids

// ---
// Look-up tables for European Petroleum Survey Group (EPSG) coded projections and datums.
// These are expected to be delimiter-separated value (*.csv|tsv) files.
// NOTE: ESRI codes are NOT EPSG codes, however, they do not conflict with EPSG so ingesting them
// as if they were EPSG. Eventually, separate databases or a multi-Db solution may need to be 
// implemented. OLK 05/2010
// --- 
epsg_database_file1: $(OSSIM_DATA)/ossim/share/ossim/projection/ossim_epsg_projections-v7_4.csv
epsg_database_file2: $(OSSIM_DATA)/ossim/share/ossim/projection/ossim_harn_state_plane_epsg.csv
epsg_database_file3: $(OSSIM_DATA)/ossim/share/ossim/projection/ossim_state_plane_spcs.csv
epsg_database_file4: $(OSSIM_DATA)/ossim/share/ossim/projection/ossim_harn_state_plane_esri.csv

// Database file for WKT-based projection factory:
wkt_database_file: $(OSSIM_DATA)/ossim/share/ossim/ossim_wkt_pcs.csv

// ---
// deprecated for new geoid_ngs_directory keyword
//
// Geoid support:
// Note:  Since the sensor models do earth intersects at height above the 
//        ellipsoid and the vertical datum of DTED is geoid_egm_96_grid, you
//        should have a geoid grid in place for accurate earth intersections.
// ---
// ---
// GEOID 99:  Set keyword to the directory containing the GEOID 99 grids.
// 
// Notes:  
// - Grids must be in the native byte order.
// - Can be downloaded from:
// http://www.ngs.noaa.gov/GEOID/GEOID99
// ---
// geoid_99_directory:  $(OSSIM_DATA)/ele1/geoid/geoid99

// current release only allows for a single directory
// we will allow for multiple directories later and auto detecting
// if possible.
//
// currently the file names are hard coded and need to be from the NGS distribution
// also downloadable from ftp.remotesensing.org under/ossim/test_data.tgz
//
geoid_ngs_directory: $(OSSIM_DATA)/ear1/geoid/geoid99
geoid_ngs_directory.byte_order: big_endian

// ---
// Generic support has been added to each NGS geoid grid. You can download
// ngs grids for 1999, 2003, ... and should work.
// byte order can be big_endian or little_endian
//geoid_ngs_directory1: $(OSSIM_DATA)/ear1/geoidngs99
//geoid_ngs_directory1.byte_order: little_endian

// ---
// GEOID EGM 96:  Set keyword to the path to the egm96.grd
// 
// Notes:
// - Grid must be in BIG ENDIAN (UNIX) format.
// - Can be downloaded from svn:
// svn co http://svn.osgeo.org/ossim/trunk/ossim_package_support/geoids geoids
// ---
geoid_egm_96_grid: $(OSSIM_DATA)/ele1/geoid/geoid96/egm96.grd


// ---
// Font support:
// NOTE:  To use the MapCompositionSource you must at least have "font.dir1"
//        set to some default.
// ---
// font.file1: /usr/share/fonts/default/Type1/b018032l.pfb
// font.dir1: /usr/share/fonts/default/Type1


//---
// OSSIM plugin support:
//
// Notes:  
// 
// Embedded trace debug can be turned on using "ossimDynamic" 
// eg using icp application: 
// $ icp -T ossimDynamic 
// ossimDynamicLibrary::load DEBUG:
// Loaded library:  /usr/local/lib/libossimpng_plugin.so
// ossimDynamicLibrary::load DEBUG:
// Loaded library:  /usr/local/lib/libossimgdal_plugin.so
// ossimDynamicLibrary::load DEBUG:
// Loaded library:  /usr/local/lib/libossimreg_plugin.so
// ossimDynamicLibrary::load DEBUG:
// Loaded library:  /usr/local/lib/libossimcontrib_plugin.so
//
// Keywords:
//
// plugin.dir1:  < directory where plugins are >
//
// you can also list by individual file names
//
// plugin.file1: < full path and file name >
//---
// Example, edit/uncomment as needed:
// plugin.file1: $(OSSIM_DATA)/ossim/plugins/libossimpng_plugin.so
// plugin.file2: $(OSSIM_DATA)/ossim/plugins/libossimkakadu_plugin.so
// plugin.file3: $(OSSIM_DATA)/ossim/plugins/libossimmrsid_plugin.so
// plugin.file4: $(OSSIM_DATA)/ossim/plugins/libossim_plugin.so
// plugin.file5: $(OSSIM_DATA)/ossim/plugins/libossimreg_plugin.so
// plugin.file6: $(OSSIM_DATA)/ossim/plugins/libossimcontrib_plugin.so
// plugin.file7: $(OSSIM_DATA)/ossim/plugins/libossimkmlsuperoverlay_plugin.so
// plugin.file8: $(OSSIM_DATA)/ossim/plugins/libossimlas_plugin.so
// plugin.file9: $(OSSIM_DATA)/ossim/plugins/libossimgdal_plugin.so
// 
//
// We also support a second style that allows one to pass options to any plugins that support them
// the options param is an embedded keywordlist that is surrounded by triple quotes
// plugin0.file: <path to>/libossimkakadu_plugin
// plugin0.options: """
//                  read_factory.location: front
//                  writer_factory.location: back
//                  """
//
// END OSSIM plugin support
//---

// Toggles for recceVue application:
statusLatLon: true
statusHeight: true
statusDatum: true
statusGSD: true
statusUpdateOnClick: true


// ---
// Keyword: cache_size
// The cache size is in megabytes
// ---
cache_size:

// ---
// Keyword: overview_stop_dimension
//
// Affects any overview building from img2rr, imagelinker, iview. Controls
// the amount of resLevels created.  This is also used to control the amount
// of levels the J2K writers use from the kakadu plugin.
// 
// This is the point where "img2rr" or the overview builder will stop 
// decimating the image down.  So in other words, if the 
// overview_stop_dimension keyword is 64, img2rr application will build 
// overviews, decimating each level by 2 until both the width and height are 
// less than or equal to 64.  Note the larger the dimension the less levels
// created.
// 
// Uncomment one below.
// ---
overview_stop_dimension: 8
// overview_stop_dimension: 16
// overview_stop_dimension: 32
// overview_stop_dimension: 64
// overview_stop_dimension: 128
// overview_stop_dimension: 256
// overview_stop_dimension: 512

// ---
// Keyword: overview_builder.scan_for_min_max_null_if_float
// 
// Control overview sequencer scanning for min, max, nulls for float data. If
// true and input data is float scalar type scanning will be performed and a
// dot.omd file will be written with the min, max, nulls in it.
// 
// Type: boolean, set to true, false, 1, 0
// 
// CAUTION: Because the j2k overview builder requires the min/max up front for 
// normalization this is NOT a good option to turn on.  In other word if you
// are doing ossim-img2rr -r -t ossim_kakadu_nitf_j2k <float-image> you should
// disable this and set the min/max with ossim-cmm(compute min max) or do it
// manually.
// ---
// overview_builder.scan_for_min_max_null_if_float: true

// ---
// Keyword: tile_size
//
// Tile size x y
//
// Affects all ossim application.  This is the internal tile size of any
// image chain unless overridden by the filter.
// 
// Notes: 
// 1) OSSIM can handle any tile size; however it is best to use a size that
// is a power of two.
// 2) 
// 
// Uncomment one below.  
// ---
// tile_size: 32 32
tile_size: 64 64
// tile_size: 128 128
// tile_size: 256 256
// tile_size: 512 512
// tile_size: 1024 1024


// ---
// Keyword: shapefile_colors_auto
// 
// Shape file colors set to automatic.
// This is a boolean value.  If true pen and brush color of shape files will
// be determined by indexing a color table in a round robin approach.  If set 
// to true the auto colors override keywords for "pen" and "brush" color.
// Default value if not found if "false".
// 
// Value can be: true, yes, y, 1, false, no, n or 0
// ---
shapefile_colors_auto: false

// ---
// Shape file pen color:
// Three values for red, green and blue between 0 and 1.0 with 1.0 being 
// brightness and 0.0 being black.
// ---
shapefile_normalized_rgb_pen_color: 0.004 1.0 0.004

// ---
// Shape file pen color:
// Three values for red, green and blue between 0 and 1.0 with 1.0 being 
// brightness and 0.0 being black.
// ---
shapefile_normalized_rgb_brush_color: 0.004 1.0 0.004

// ---
// Shape file point size:
// Width and height for points in pixels.
// ---
shapefile_point_size: 6.0 6.0


// --------------------------
// Some keywords for the OSSIM GUI application
//
//
// igen spec files output./  This is the directory location you would
// like the igen export GUI to default to when outputing spec files
ossim.igen_spec_output_directory: /work/gpotts/igen_test

// this is the igen executable.  Make sure you put the full path
ossim.igen_executable:  /work/gpotts/ossim/bin/igen

// END keywords for OSSIM GUI
//--------------------------

// ---
// Position Quality Evaluator (PQE) keywords. 
// Note Circulay Error(CE) and Linear Error (LE)  units are in meters.
// These keywords are for the imagelinker->image-window->PQE dialog box.
// They allow the user to calculater position quality factoring in backdrop
// and elevation uncertainty.
// ---

// Backdrop enter "name,ce90,le90" like "JOG-A,77,38".
pqe_backdrop1: TLM50,31,25
pqe_backdrop2: TLM100,61,25
pqe_backdrop3: JOG-A,77,38
pqe_backdrop4: TPC,613,47
pqe_backdrop5: ONC,1226,93
pqe_backdrop6: JNC,2452,187
pqe_backdrop7: GNC,6129,465

// Elevation enter "name,ce90,le90" like "SRTM_1ARC,20,16"
// Accuracies vary widely depending on terrain and how they were computed.
// These are just examples.
pqe_elev1: SRTM_3ARC,20,16
pqe_elev2: SRTM_1ARC,20,10
pqe_elev3: DTED_LEVEL2,40,20
pqe_elev4: DTED_LEVEL1,50,30
pqe_elev5: RPC_No_DEM_State,-2,-1.6449
// Special Case
// RPC_No_DEM_State, Scale Divisor, 1-Sigma Divisor (minus signs required)

pqe_normalized_rgb_ellipse_color: 0.004 1.0 0.004

// End of PQE keywords...

// ---
// Log file support:  If set all output from ossimNotify to stdout and to 
// stderr will be written to the log file.  Optionally users of ossim 
// applications can use the "--ossim-logfile <some_file>" command line 
// argument.  Note that the "--ossim-logfile" command line argument overrides
// the preference setting.
// 
// Uncomment and set path to use log file:
// ---
// ossim.log.file: D:\tmp\ossim-log.txt

// ---
// Kakadu threads:
// ---
kakadu_threads: 4

// ---
// ossim threads:
// ---
ossim_threads: 4

// Keyword for ingesting terrasar-x and radarsat-2 data. When TRUE, instructs the 
// sensor model to create an ossim coarse grid replacement model to improve performance
geometric_sar_sensor_model.create_ocg: true

// Keyword parsed presently by orthoigen. If true, histograms will be computed when needed
// for all images that do not yet have a histogram. 
autogenerate_histogram: true

// specify true or fals if you want the ossimInit to look in the current 
// program path to see if any plugins are available.  Turn this off if you 
// want to load them from a keyword list and remove the need to scan the 
// directory for valid plugins
ossim_init.auto_load_plugins: false

// When true, indicates to orthoigen application that the specified cut rectangle for the product 
// shall be adjusted to fit the minimum bounding valid image rect. This eliminates null exterior 
// pixels when the cut rect extends beyond the valid image rect. This preference can be overriden
// by an option on the orthoigen command line. See the usage on orthoigen. [default is false]
orthoigen.clip_to_valid_rect: false

// Specifies the preference for remapping null-valued pixels to 1 (min). Possible settings are:
//   "none" -- Bypasses pixel flipper
//   "all_nulls" -- replaces any occurrence of the null value with 1. 
//			Ex: (20,0,10) becomes (20,1,10), also (0,0,0) becomes (1,1,1)
//   "only_partial_nulls" -- replaces null-valued band only if another band is non-null.
//			Ex: (20,0,10) becomes (20,1,10), but (0,0,0) is not remapped.
//   "all_bands_if_partial_null" -- Remaps all bands of a pixel if even one band is null.
//			Ex: (20,0,10) becomes (1,1,1), but (0,0,0) is not remapped
//   "only_full_nulls" -- Remaps pixel only if all bands are null.
//			Ex: (0,0,0) becomes (1,1,1), but (20,0,10) is not remapped
orthoigen.flip_null_pixels: none

// ---
// NITF writer site configuration file:
// ---
// nitf_writer.site_configuration_file: $(OSSIM_DATA)/ossim/share/nitf-site-configuration.kwl
