ossim-orthoigen
ossim-orthoigen is a command line application used to orthorectify, mosaic, and convert raster data between different formats. It provides a number of operations including subsetting, resampling, histogram matching, and reprojection of data. NOTE: YOU MUST HAVE A PROPER ELEVATION SETUP FOR ORTHORECTIFICATION.
- For elevation setup, see ossimElevationSetup
- For an OSSIM preferences example, see ossimPreferenceFile
Usage
ossim-orthoigen [options] <input_file1> <input_file2> ... <output_file>
Options
--annotate annotation keyword list --chain-template Specify an external file that contains chain information --clip-to-valid-rect <true|false> When true, any requested cut rect is clipped by the valid image bounding rect to minimize null border pixels. If false, the output will correspond to the cut rect as close as possible given the product projection. This option overrides the ossim_preferences setting. If no cut options are supplied, this option is ignored. --combiner-template Specify an external file that contains combiner information --combiner-type Specify what mosaic to use, ossimImageMosiac or ossimFeatherMosaic or osimBlendMosaic ... etc --cut-bbox-en Specify the min easting, min northing, max easting, max northing --cut-bbox-ll Specify the min lat and min lon and max lat and maxlon <minLat> <minLon> <maxLat> <maxLon> --cut-center-ll Specify the center cut in lat lon space. Takes two argument <lat> <lon> --cut-pixel-width-height Specify cut box's width and height in pixels --cut-radius-meters Specify the cut distance in meters. A bounding box for the cut will be produced --disable-elev Will disable the elevation --disable-notify Takes an argument. Arguments are ALL, WARN, NOTICE, INFO, FATAL, DEBUG. If you want multiple disables then just do multiple --disable-notify on the command line. All argument are case insensitive. Default is all are enabled. --disable-plugin Will disable the plugin loader --enable-entry-decoding A filename can be separated by a | and a number (NO space). Example: a.toc|0 will do entry 0 of a.toc file and on unix you might want to use a \ since the separator is a pipe sign. Example: ./a.toc\|0 will do entry 0 of a.toc. --geo Defaults to a geographic image chain with GSD = to the input. Origin of latitude ison the equator. --geo-scaled Takes a latitude as an argument for purpose of scaling. Specifies that no spec file was defined. Defaults to a scaled geographic image chain with GSD = to the input. --hist-auto-minmax uses the automatic search for the best min and max clip values. Incompatible with other histogram options. --hist-match Takes one image filename argument for target histogram to match. Incompatible with other histogram options. --hist-std-stretch Specify histogram stretch as a standard deviation from the mean as <int>, where <int> is 1, 2, or 3. Incompatible with other histogram options. --hist-stretch Specify in normalized percent the low clip and then the high clip value as <low.dd> <hi.dd>. Incompatible with other histogram options. --input-proj Makes the view equal to the input. If more than one file then the first is taken --mask Specify the ESRI shape file with polygons to clip the image --meters Specifies an override for the meters per pixel. Takes a single value applied equally to x and y directions. --meters-xy Specifies an override for the meters-per-pixel. Takes two values <x> <y> --ossim-logfile takes a logfile as an argument. All output messages are redirected to the specified log file. By default there is no log file and all messages are enabled. --resample-type Specify what resampler to use, nearest neighbor, bilinear, cubic --scale-to-8-bit Scales output to eight bits if not already. --slave-buffers number of slave tile buffers for mpi processing (default = 2) --srs specify an output reference frame/projection. Example: --srs EPSG:4326 --stdout Output the image to standard out. This will return an error if writer does not support writing to standard out. Callers should combine this with the --ossim-logfile option to ensure output image stream does not get corrupted. You must still pass an output file so the writer type can be determined like "dummy.png". --supplementary-directory or --support Specify the supplementary directory path where overviews, histograms and external geometries are located --tiling-template Specify an external file that contains tiling information --utm Defaults to a utm image chain with GSD = to the input --view-template Specify an external file that contains view information --wkt specify an output reference frame/projection that is in a wkt format. Must have the ossimgdal_plugin compiled --writer-prop Passes a name=value pair to the writer for setting it's property. Any number of these can appear on the line. --writer-template Specify an external file that contains tiling information -K specify individual keywords to add to the preferences keyword list: name=value -P specify a preference file to load -T specify the classes to trace, ex: ossimInit|ossimImage.* will trace ossimInit and all ossimImage classes -V or --version Display version information. -h or --help Display this information -t or --thumbnail thumbnail size -w or --writer Specifies the output writer. Default uses output file extension to determine writer.
Input Files
For orthoigen you must at a minimum specify an input and an output file. Example:
ossim-orthoigen C:\input.tif D:\output.jpg
Users can specify multiple input files like this:
ossim-orthoigen C:\input.tif C:\input2.tif C:\input3.tif D:\output.jpg
Alternatively, you can pass in a text file with a ".src" extension with a list of file paths separated by a newline. Example:
ossim-orthoigen image.src output.ntf
The corresponding image.src file would be as simple as this:
image0.file: C:\input1.tif image1.file: C:\input2.tif image2.file: C:\input3.tif
Entry Decoding and Band Selection
orthoigen allows users to specify which entry and which bands to use in the input file(s). This is possible via the --enable-entry-decoding argument. Example:
ossim-orthoigen.exe --enable-entry-decoding image.ntf|0|3,2,1 output.tif
This will create a product from image0 that uses bands 3, 2, and 1. Note that the band selection is optional. Example:
ossim-orthoigen.exe --enable-entry-decoding image.ntf|0 output.tif
This will create a product from image0 that uses bands 1, 2, and 3.
Output Format
By default, the output writer type is determined by the extension of the output file. You can specify a specific writer to use via the -w argument. A list of all available writers can be found here. In addition to specifying a writer, you can also define writer specific parameters via the --writer-prop argument. Here's an example of both the -w and --writer-prop in use to create a GeoJP2 file using the Kakadu plugin. Example:
ossim-orthoigen -w ossim_kakadu_jp2 --writer-prop threads=4 --writer-prop compression_quality=visually_lossless --srs EPSG:4326 N10-E024.tif N10-E024.jp2
Normally orthoigen outputs a physical file but there is a way to redirect the output to the standard output stream. This is particularly useful if you want to create a composite application like a web map server. Currently the output writer is selected from the output file's extension so you must supply a dummy arg. Example:
ossim-orthoigen --stdout input.ntf dummy.png
It is recommended that you use the log file option to avoid corrupting the image stream from any program output (see --ossim-logfile).
Output Projection
orthoigen provides users several options for defining the output projection. The options are summarized below. If none of these options are used, orthoigen will default to the projection of the input file. If multiple input files are supplied, orthoigen will use the projection of the first image in the image chain.
- srs: Allows users to specify a PCS or EPSG code for the output image. For example, to set the output projection to NAD83/UTM zone 12N, specify the following:
ossim-orthoigen --srs EPSG:26912 <input files> <output>
- geo: Sets the output projection to WGS84. This is identical to "--srs EPSG:4326". Example:
ossim-orthoigen --geo <input files> <output>
- geo-scaled: Sets the output projection to WGS84 with an additional parameter used to specify the scale center. Let's say your input projection is utm and you want the output to be geographic with the pixels size scaled on the longitude direction by the cosine of the latitude. This will give you way less distortion unless you are very close to the Equator. In this example let's say the image center latitude is 41.5 North:
ossim-orthoigen --geo-scaled 41.5 --resample-type bicubic --meters 2.0 input.ntf output.tif
- wkt: Sets the output projection using well known text (wkt). Example:
ossim-orthoigen --wkt GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745329251994328,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]] <input files> <output>
- utm: Reproject image to UTM. Example:
ossim-orthoigen --utm <input files> <output>
- input-proj: Sets the output projection the input file. If multiple input files are supplied, orthoigen will use the projection of the first image in the image chain. Example:
ossim-orthoigen --input-proj <input files> <output>
- view-template: Specify an external file that contains view information. Example:
ossim-orthoigen --view-template view_template/utm_8.kwl <input files> <output>
Output Resolution
By default, orthoigen will default to the lowest resolution image found in the list of input files. Users can override this by specifying the output resolution.
- meters Specify the output resolution in meters per pixel. Takes a single value applied equally to x and y directions.
- meters-xy Specify the output resolution in meters per pixel. Takes a two values. The first is applied to the x axis. The second is applied to the y axis.
Output Width/Height
Users can specify the output image dimensions on one of two ways:
- t Specify the maximum width/height for the output image in pixels. Ensures correct aspect ratio is maintained with the source. Example:
ossim-orthoigen --geo -t 512 image.tif image_tn.jpg
Creates an image in geographic projection that is at most 512 pixels on a side - ideal for thumbnail generation.
- cut-pixel-width-height User defined width/height value in pixels. Example:
ossim-orthoigen --geo --cut-pixel-width-height 683 332 image.tif output.jpg
Creates an image in geographic projection that has an arbitrary width/height specification - ideal for WMS responses.
Output Bit Depth
orthoigen allows users to specify the output bit depth. For example, suppose you have a NITF that is 11 bit and you want 8 bit out. The --scale-to-8-bit argument will force the output to 8 bits per pixel. Example:
ossim-orthoigen --scale-to-8-bit input.ntf output.tif
Clipping/Subsetting
orthoigen provides several methods for defining the output image extents:
- cut-bbox-ll Specify the min lat and min lon and max lat and max lon. Coordinates must be specified in geographic/WGS84 regardless of the input source. Example:
ossim-orthoigen --cut-bbox-ll 39.4049 -81.9962 41.4256 -60.9536 input.tif output.tif
- cut-bbox-en Specify the min easting, min northing, max easting, max northing
- cut-center-ll Specify the center cut in lat lon space. Must be used in conjunction with width/height.
Resampling
orthoigen provides several resampling methods via the --resample-type argument. Example:
ossim-orthoigen --resample-type bicubic --meters 2.0 input.ntf output.tif
Here's a complete list of resampling modes:
- nearest neighbor
- bilinear
- cubic
- bessel
- blackman
- box
- bspline
- catrom
- gaussian
- hanning
- hamming
- hermite
- lanczos
- mitchell
- quadratic
- sinc
Histogram Operations
The following histogram can be applied to the output image. These options require a histogram file (*.his) exist for each of the input files (see create_histo).
- hist-auto-minmax Automatically adjusts the histogram based on the min and max histogram values.
- hist-match Automatically adjusts the histogram to match another image.
- hist-std-stretch Performs a linear contrast stretch using a standard deviation from the mean (e.g. 1, 2, or 3)
- hist-stretch Performs a linear contrast stretch using a user defined min/max value.
Mosaicking Options
When two or more images are supplied, orthoigen will create a mosaic. Users have the options to specify what mosaic to use via the --combiner-type argument:
- ossimImageMosiac
- ossimFeatherMosaic
- ossimBlendMosaic
Tiling
orthoigen can be used to create tiled outputs using a tiling template. Examples:
ossim-orthoigen --chain-template chain_templates/landsat_projected_321.kwl --tiling-template tiling_templates/1024x1024.kwl --thumbnail 2048 --utm /data/p44r34oossim-/l71044034_03420000725_hrf.fst output/ ossim-orthoigen --geo --tiling-template tiling_templates/orthoigen_srtm_3arc.kwl /data/ele1/DTED3arc/w100/n40.dt1 output/
Here's an example of a tiling template that's used to chop up an image into 512x512 tiles. Tiling units can be in pixels, meters, or degrees.
igen.tiling.tile_size: 512 512 igen.tiling.use_offset: 0.0 0.0 igen.tiling.padding: 0.0 0.0 igen.tiling.units: pixel igen.tiling.clip_to_aoi: true igen.tiling.output_file_name: %r%_%c%.jpg
Here's an example of a tiling template that's used to chop up an image using a shapefile:
igen.tiling.tile_source: C:\co_county_sub.shp|select * from 'co_county_sub' where FID = 0 igen.tiling.padding: 500.0 500.0 igen.tiling.padding_use_mbr: true igen.tiling.units: meters igen.tiling.output_file_name: dted_eof_500m_%f%.tif
More tiling/chipping options can be found in the attached presentation.
Attachments (1)
-
Chipping.pdf
(191.2 KB
) - added by 12 years ago.
Chipping Options
Download all attachments as: .zip