Digital repeat photography and near-surface remote sensing have been used by environmental scientists to study the environmental change for nearly a decade. However, a user-friendly, reliable, and robust platform to extract color-based statistics and time-series from a large stack of images is still lacking. Here, we present an interactive open-source toolkit, called 'xROI', that facilitate the process time-series extraction and improve the quality of the final data. 'xROI' provides a responsive environment for scientists to interactively a) delineate regions of interest (ROI), b) handle field of view (FOV) shifts, and c) extract and export time series data characterizing image color (i.e. red, green and blue channel digital numbers for the defined ROI). Using 'xROI', user can detect FOV shifts without minimal difficulty. The software gives user the opportunity to readjust the mask files or redraw new ones every time an FOV shift occurs. 'xROI' helps to significantly improve data accuracy and continuity.
Here, we present an interactive open-source toolkit, called xROI[^*], that facilitates the process of time-series extraction and improves the quality of the final data. xROI provides a responsive environment for scientists to interactively:
a) delineate regions of interest (ROI), b) handle field of view (FOV) shifts, c) extract and export time series data characterizing color-based metrics.
xROI, the user can detect FOV shifts with minimal difficulty. The software gives user the opportunity to re-adjust mask files or redraw new ones every time an FOV shift occurs.
Geospatial Data Abstraction Library (GDAL) and the
raster R packages.
The xROI R package has been published on The Comprehensive R Archive Network (CRAN). The latest tested xROI package can be installed from the CRAN packages repository by running the following command in an R environment:
utils::install.packages('xROI', repos = "" )
Alternatively, the latest beta release of xROI can be directly downloaded and installed from the GitHub repository:
# install devtools firstutils::install.packages('devtools', repos = "" )devtools::install_github("bnasr/xROI")
xROI depends on many R packages including:
RCurl. All the required libraries and packages will be automatically installed with installation of xROI. The package offers a fully interactive high-level interface as well as a set of low-level functions for ROI processing.
A comprehensive user manual for low-level image processing using xROI is available from xROI.pdf. While the user manual includes a set of examples for each function; here we explain the graphical interactive mode. The interactive mode can be launched from an interactive R environment by the following command.
or form the command line (e.g., shell in Linux, Terminal in macOS and Command Prompt in Windows machines) where an R engine is already installed by:
Rscript -e “xROI::Launch(Interactive = TRUE)”
Calling the Launch function opens up the app in the system’s default web browser, offering an example dataset to explore different modules or upload a new dataset of images.
Follow the steps below:
Draw an ROI by clicking on the sample image and enter the metadata.
Save the ROI and metadata and explore its content on your computer.
Explore if there is any FOV shift in the dataset using the
CLI processer tab.
Go to the
Time series extraction tab. Extract the time-series. Save the output and explore the dataset in R.
By default, xROI can load images and their timings from the filenames (according to the PhenoCam naming convention: sitename_YYYY_MM_DD_HHMMSS.jpg, where it includes the site name, date and time). However, if the files are not named in this format, the user can select the option "From filelist.csv". In this case, the software looks for a comma separated file named “filelist.csv” in the selected directory,to obtain information about how to properly load the dataset. The filelist.csv file contains a list of images and their associated timing and is formatted in comma-separated-values format as follows. The user is responsible for generating the filelist.csv file. Each row includes 1 column for the filename as character strings and six columns for year, month, day, hour, minute and second of the acquisition date and time, in that order. An example file is presented in Appendix A: filelist.csv. User can explore loaded images using the exploring panel.
Here is an example:
When you are done with the xROI interface you can close the tab in your browser and end the session in R by using one of the following opitons
In RStudio: Press the key on your keyboard. In R Terminal: Press <Ctrl + C> on your keyboard.