24977 Rate this article:

ENVI 5: How to create ROIs in ENVI 5

Note: A new ROI tool was introduced in ENVI 5.1.  For better ROI support, please use version 5.1 or higher.

ROIs (regions of interest) have been used in ENVI classic for many years and in many processes.  One drawback of using ROIs is that they are based on image coordinates (number of rows and columns) rather than map coordinates which means they are not easily transferred between images of different sizes or projections.   With ENVI 5, map coordinate-based  vectors (shapefiles and ENVI .evf) are utilized most often because they are more portable between images and between image processing packages.  However, there are still many uses for ROIs and in ENVI 5 there is a new method for their creation.  This help article discusses how to create ROIs in the ENVI 5 interface.

To create a new ROI in ENVI 5 you must first create a vector file for the ROI.  A new vector can be created by first displaying an image on which you want to base the vectors in a View in the Layer Manager.  Then go to File ->New->Vector Layer.  The Create New Vector Layer dialog appears. 


Here you select the Source Data (displayed dataset) which will define the new layer’s extents and map projection.   Select the type of vectors you wish to create (points, lines, or polygons).  Select Ok and the new layer is added to the View and the Vector Create button is active .    Begin to draw your vectors. 

Note: If the vector layer is to be used for training data you will need one vector layer for each training data set.

After you have drawn the desired vectors, right click on the vector layer in the Layer Manager and select Save As… to save the vector layer to a shapefile.    Once the shapefile is saved, you can convert it to an ROI.  In the Toolbox, type in ‘convert vector’ .  This will reduce the toolbox list to the Convert Vector to ROI tool.  Double-click on the Convert Vector to ROI tool.  Your saved vector files will be listed in the Select Input File dialog.  Select all vector files you wish to convert using shift+click.


Then select OK.  In the Convert Vector to ROI dialog, select how you would like the vectors to be converted to ROIs.


Select OK.  The ROIs will be displayed in the Layer Manager as children of the raster. 


 ROIs listed in the Layer Manager can be used to calculate statistics on the ROI by right-clicking on the ROI name and selecting Stats…

ROIs can be saved to an ENVI .roi file by right-clicking on the ROI name and selecting Save As .ROI…  These saved ROIs can be restored in ENVI 5 or in ENVI Classic.

Review on 8/25/2014 MM

5 comments on article "ENVI 5: How to create ROIs in ENVI 5"


I found this tutorial quite helpful because of its self-explanatory form.

Can the saved ROI be used on another image of the scene?

if yes, how please.


Convert to ROI, errors says "contains no point", thus, cannot finish the convert ROI step. ENVI 5 is so frustrating.


I also received a "ROI contains no points" when running ENVI 5.0 on Linux. I switched to a Windows 64 bit installation and it works as documented. Why didn't it work on Linux? It was over an X session...



I also have this error "contains no point". I was trying to edit my input shapefile, but no change. ENVI 5.0 SP3 on WIN64 still having this error. Could you help me please? Are there any shapefile format constraints?

thank you very much in advance,



I am working on ENVI 5.1. I follwed the simple and clear directions perfectly. When I had finished the conversion I attempted to obtain the statistics and came up with an error message: "Array Dimensions must be greater than 0" What is wrong and how can I fix it?

Please login or register to post comments.