Use ENVI Catalog to organize and access raster files that may be stored across different directories. Instead of manually browsing folders to find and open rasters, ENVI Catalog enables you to do the following:

  • Search for rasters by filename, sensor, location, and other metadata.
  • Browse data to evaluate and compare files that will be useful for your workflows.
  • Open the files directly from the catalog into the ENVI view.

For additional information on how ENVI Catalog works, including best practices and troubleshooting, see ENVI Catalog Background and Troubleshooting.

Click the ENVI Catalog button in the ENVI Toolbar or select File > ENVI Catalog. The ENVI Catalog browser opens with the Internal Catalog page open. The Internal Catalog is a persistent archive that remembers every raster dataset you open in ENVI. You can also create custom catalogs by scanning directories to find rasters or by selecting multiple rasters manually to add them.

The Internal Catalog and the ability to browse it is included with the ENVI installation for collections of up to 250 images. The ability to create custom catalogs, scan directories and populate catalogs, and merge and prune catalogs requires a separate ENVI Catalog license; contact your sales representative for more information.

See the following sections:

Scan and Catalog Rasters


You can scan directories to create new catalog of rasters or add additional rasters an existing catalog.

To speed up the scan process, use the Workers parameter so that your local ENVI Server can perform parallel processing.

You can also write a script to scan for rasters using the ScanFilesForCatalog task, then populate the catalog with the found rasters using the PopulateCatalog task.

To create a new catalog from a scan, use the following steps:

  1. From the ENVI Catalog menu bar, select File > New Catalog from Scan. The Scan and Catalog Rasters dialog appears.
  2. In the Directory field, specify the paths of one or more directories in which to search for rasters.
  3. Select Yes or No to Include Subfolders in the directory scans.
  4. In the Exclude Pattern field, enter one or more substrings to exclude from the scan. Any file whose full path contains one of these strings - anywhere in the path or filename - will be skipped. Wildcards are not required. For example, entering 'temp' will exclude any file located in a folder named temp or any file whose name contains temp.
  5. In the Extensions field, specify the extensions to match in the search. Be sure to include the .hdr extension to ensure that all ENVI-format files are identified. By default, the search will look for all known types of ENVI formats. If you want to skip specific formats in the scan, remove them from this list.
  6. Using multiple workers speeds up the process. Specify the number of Workers that can run in parallel to scan the directories. If you set this to 0, the process will go through all the candidate files one by one. This will block the main ENVI process, meaning it could take many hours - or even days - to populate very large catalogs.
  7. To catalog only rasters with a valid spatial reference, select Yes for the Require Georeference parameter. Images without georeference will be skipped.
  8. To generate a thumbnail for each raster added to the catalog, select Yes for the Generate Thumbnails parameter. If you select No, thumbnail generation will be skipped, and cataloging speed will be significantly faster.

  9. In the Candidate Database field, specify the path and filename to save the database of candidate files to. If you leave this field blank, the candidate rasters will be saved to a temporary file.
  10. In the Catalog Database field, specify the path and filename to save cataloged rasters to. If you leave this field blank, the rasters will be saved to a temporary catalog file.
  11. To reuse these task settings in future ENVI sessions, save them to a file. Click the down arrow next to the OK button , select Save Parameter Values, then specify the path and filename to save to. Note that some parameter types, such as rasters, vectors, and ROIs, will not be saved with the file. To apply the saved task settings, click the down arrow and select Restore Parameter Values, then select the file where you previously saved your settings.

  12. Click OK to start the scan. If you specified using Workers, the ENVI Server https://localhost:50500 starts the cataloging process. A Scanning dashboard shows results of the scan, such as the number of rasters found and the number of rasters added to the catalog. When scanning is in progress, the dashboard shows % of files pending approval to be processed.

If the process to populate candidate rasters to the catalog was interrupted or stopped for any reason, see Candidates to Catalog for steps to resume the populate process.

To scan and add more rasters to an existing catalog:

  1. In the ENVI Catalog browser, select the tab for the catalog you want to add rasters to.
  2. Select Edit > Scan Rasters to Catalog. The Scan and Catalog Rasters dialog appears. The Catalog Database field will be populated with the path and filename of the catalog you selected.
  3. Enter values for the remaining parameters as described in the steps above. For the Candidate Database and Catalog Database fields, provide the database names of the exiting catalog you want to add to.

For details on how the scanning and cataloging process works, see ENVI Catalog Background and Troubleshooting.

Select Rasters to Catalog


You can create a new catalog or add more rasters to an existing one by selecting multiple rasters.

To create a new catalog from selected rasters, use the following steps:

  1. From the ENVI Catalog menu bar, select File > New Catalog from Rasters. The Data Selection dialog appears.
  2. Click the Open File button . The Open dialog appears.
  3. Navigate to a directory with rasters, select the files to add, and click Open.
  4. Repeat this process if you want to add additional rasters that are located in other directories.
  5. In the Data Selection dialog, click the Select All button to select all the rasters you added.
  6. Click OK. The Enter a catalog filename (.sqlite) dialog appears.
  7. Enter a path and filename for the catalog and click Save. The new catalog will be added to the ENVI Catalog browser as a new tab.

To add more rasters to an existing catalog, use the following steps:

  1. In the ENVI Catalog dialog, select the tab for the catalog to add rasters to.
  2. From the ENVI Catalog menu bar, select Edit > Add Rasters to Catalog. The Data Selection dialog appears.
  3. Use the steps described previously to select rasters.

Using Catalogs


ENVI Catalog provides different ways to view the catalog contents with the following dashboard options:

  • Table: Browse rasters and metadata in a sortable table view. The metadata includes the number of columns and rows in the raster, bands, pixel size, date acquired, sensor type, modality, and projection. Click on a column to sort by metadata type; for example, ordering the catalog by pixel size or number of bands can be useful. To see full metadata and other options, click on the row.
  • Gallery: Browse rasters in a thumbnail gallery. Use the Thumb size drop-down list at the top of the page to change the size of the displayed thumbnails. For all thumbnail sizes, metadata for ncolumns x nrows x nbands displays below the thumbnail. For Small and Medium thumbnails, sensor and acquisition date is also shown. To see full metadata and other options, click on the thumbnail.
  • Map: Browse rasters using an interactive map, where the map has markers and footprints that correspond to the raster locations. Double-click to zoom into the map or use the mouse wheel to zoom in and out. When you zoom in or out, the rasters are filtered by the bounding box of map and you only see what is within bounds of map view. Click on a marker to highlight the corresponding raster in the left column or click the Go to button for the raster to zoom to the corresponding marker on the map. To see full metadata and other options, click on raster in the left column.

To open one or more rasters from any dashboard, select one or more check boxes associated with the images to open. An Open in ENVI button appears at the top of the view; click Open in ENVI to open the selected files in the ENVI view.

If you have opened the full metadata view (described previously) the following options are available for the current raster:

  • Open in ENVI: Opens the file in the ENVI view.
  • Open Folder: Opens the folder that contains the raster.
  • Delete: Removes the raster from the catalog.

Use the Search field to search by filename or other attributes or click the Advanced filters button to specify additional search parameters.

You can also write a script to query the catalog using the QueryCatalog task.

The advanced filters include:

  • Filename
  • Date range
  • Month range
  • Sensor
  • Band range
  • Cloud %

The Internal Catalog tab is always visible in ENVI Catalog; depending on the preference setting for Enable Internal Catalog, the contents of the catalog will be visible or hidden. You can close and open other catalogs with the following:

  • To close a catalog, select File > Close Catalog from the ENVI menu bar.
  • To open a catalog, select File > Open Catalog from the ENVI menu bar, then navigate to the .sqlite file of the catalog and click Open.

To find the location of a catalog file, hover over the catalog name at the top right of the dialog to get a tool tip with the file location.

Catalog Maintenance


Candidates to Catalog

If the process to populate a catalog with candidate rasters was interrupted or stopped for any reason, use the Candidates to Catalog tool to resume populating the catalog from where it was stopped.

You can also write a script to populate the catalog with the rasters using the PopulateCatalog task.

  1. From the ENVI Catalog menu bar, select Edit > Candidates to Catalog. The Candidates to Catalog dialog appears.
  2. In the Candidate Database field, specify the path and filename of the database that contains the candidate rasters to add to the catalog.
  3. To catalog only rasters with a valid spatial reference, select Yes for Require Georeference. Images without georeference will be skipped.
  4. Specify the number of Workers that can run in parallel to scan the files. Using multiple workers speeds up the process. If set to 0, the process will go through all the candidate files one by one. This will block the main ENVI process, meaning it could take many hours - or even days - to populate very large catalogs.
  5. Click OK. The process resumes adding rasters to the catalog from where it left off.

Merge Catalogs

To merge two or more ENVI Catalog databases into a single catalog database, use the following steps. If duplicate entries exist between the catalogs, only one entry will be included in the output catalog.

You can also write a script to merge catalogs using the MergeCatalogs task.

  1. From the ENVI Catalog menu bar, select Tools > Merge Catalogs.
  2. In the Input Catalogs field, enter the paths and filenames (*.sqlite) of one or more catalogs to merge.
  3. In the Catalog Database field, enter the path and filename of the catalog to merge the Input Catalogs into. If not specified, the catalogs will be merged into a temporary catalog file.
  4. Click OK.

Prune Missing Entries from Catalogs

To keep catalog entries current with the directories and files they reference, use the Prune Missing Entries tool. If raster files listed in the catalog have been deleted, moved, or renamed, they will be removed from the catalog file.

You can also write a script to prune the catalog using the PruneCatalog task.

  1. In the ENVI Catalog, select the tab for the catalog to prune.
  2. From the ENVI Catalog menu bar, select Edit > Prune Missing Entries.
  3. ENVI checks whether the file exists and matches its reference in the catalog, then does one of the following:

    • If no missing entries are found, a message "There are no missing entries in this catalog" displays. Click OK to dismiss it.
    • If missing entries are found, a dialog reports the files that are missing. Click Yes to remove the entries from the catalog or No to leave them in the catalog.

Candidate Database Browser

To look further into the cataloging process or do troubleshooting - such as a crash occurred, or duplicate files or non-raster files were added to the catalog - use the Candidate Database Browser to inspect the candidate catalog file.

  1. From the ENVI Catalog menu bar, select Tools > Candidate Database Browser. Or, in the Scanner Monitor dashboard, click the Inspect link next to the Candidate database filename. The Candidate File Viewer dialog appears.
  2. If you opened the dialog while cataloging was in progress, the viewer will be populated with the status of the current job. Otherwise, to open a candidate catalog file, click on the File field, navigate to the candidate .sqlite file, and click Open.

The following can appear in the Status column:

  • (blank): Pending, not yet processed.
  • opening-raster: Checked out by a worker, currently being processed.
  • success: Successfully cataloged.
  • skip: Opened by ENVI but intentionally not added to the catalog (already in the catalog, not georeferenced, child raster of another file, etc.).
  • error: ENVI could not open the file.
  • give-up: Two separate attempts were made to catalog the file and failed. It will not be retried automatically.

Rename Catalogs

For catalogs you have created, you can rename them and also add a description. Renaming the catalog changes only the name shown in the ENVI Catalog browser tab; it does not change the .sqlite filename of the catalog.

  1. Select the tab for the catalog to rename, then select Edit > Rename Catalog from the ENVI Catalog menu bar. The Rename Catalog dialog appears.
  2. Enter the new name in the Name field.
  3. Enter a description of the catalog's contents in the Description field.
  4. Click OK.

Export Catalogs


You can export an ENVI Catalog to a SpatioTemporal Asset Catalog (STAC) or to a Google Earth KMZ (Keyhole Markup Language Zipped) format file.

Export Catalog to STAC

Use the following steps to export an ENVI Catalog as a SpatioTemporal Asset Catalog (STAC).

You can also write a script to export the catalog to STAC using the ExportCatalogToSTAC task.

  1. From the ENVI Catalog menu bar, select File > Export Catalog to STAC. The Export Catalog to STAC dialog appears.
  2. Click the Browse button next to the Catalog Database field and select the catalog to export from the Select Catalog Database dialog.
  3. To include thumbnails with the catalog, select Yes for the Include Thumbnails parameter.
  4. Enter a unique Collection ID for the catalog.
  5. Enter a title in the Collection Title field.
  6. To save the STAC to a specific directory, enter an Output Directory. If you do not specify a directory, the STAC is saved to the same directory as the catalog you are exporting.
  7. Click OK.

Export Catalog to KML

Use the following steps to export a catalog to a Google Earth KMZ (Keyhole Markup Language Zipped) .kml file.

You can also write a script to export the catalog to KML using the ExportCatalogToKML task.

  1. From the ENVI Catalog menu bar, select File > Export Catalog to KML. The Export Catalog to KML dialog appears.
  2. Click the Browse button next to Catalog Database field and select the catalog to export from the Select Catalog Database dialog.
  3. To include thumbnails with the catalog, select Yes.
  4. Enter a Document Name. This name will be shown when you open the file in Google Earth.
  5. Specify a path and filename to save the file to in the Output KML field.
  6. Click OK.

View the STAC API for a Catalog


When ENVI Catalog is open the STAC server is available and can be accessed through the REST API r the catalog, then select Help > Show STAC API for this Catalog.

Below is an example of the STAC API for catalog:

# STAC API Endpoints
| Endpoint | Method | Description |
| :--- | :--- | :--- |
| http://localhost:50055/stac | GET | Landing page |
| http://localhost:50055/stac/conformance | GET | Conformance classes |
| http://localhost:50055/stac/collections | GET | List all catalogs |
| http://localhost:50055/stac/collections/Internal%20Catalog | GET | This collection |
| http://localhost:50055/stac/collections/Internal%20Catalog/items | GET | List items (paginated) |
| http://localhost:50055/stac/collections/Internal%20Catalog/items/{itemId} | GET | Get single item (includes assets.thumbnail.href) |
| http://localhost:50055/thumbnails/{uid}.png?catalog=Internal%20Catalog | GET | Thumbnail image (URL found in item assets) |
| http://localhost:50055/stac/search | GET/POST | Search across all collections |
 
### Query Parameters (Items & Search)
* **limit**: Max results (default 10, max 100)
* **offset**: Pagination offset
* **bbox**: Bounding box (minLon,minLat,maxLon,maxLat)
* **datetime**: Single date or interval (2020-01-01 or 2020-01-01/2020-12-31)
* **collections**: Filter by collection ID
* **ids**: Filter by item IDs
 
### Example curl commands
**Landing page**
curl "http://localhost:50055/stac"
**List all catalogs**
curl "http://localhost:50055/stac/collections"
**Get items with bbox filter**
curl "http://localhost:50055/stac/collections/Internal%20Catalog/items?bbox=-120,35,-118,37&limit=20"
**Get single item**
curl "http://localhost:50055/stac/collections/Internal%20Catalog/items/YOUR_UID_HERE"

See Also


ENVI Catalog Background and Troubleshooting, ScanFilesForCatalog Task, PopulateCatalog Task, QueryCatalog Task, MergeCatalogs Task, PruneCatalog Task, ExportCatalogToKML Task, ExportCatalogToSTAC Task