Classifying rivers with IDL
Updated: May 25
One of the most important skills of a researcher, assistant or otherwise, is the ability to code. For example, many geologists, biologists, historians, chemists and epidemiologists use coding to process and analyze data. In some cases, the program and language used may seem archaic but it also may also be the best option available. IDL (Interactive Data Language) is a programming language most commonly used for data analysis, but it can also be changed dynamically, as in, it has the ability to be changed during runtime, rather than afterwards, similar to the more popular language, Python.
As part of my research assistantship in the Global Rivers Group, I use IDL in conjunction with ENVI, an image processing and analysis software, to process satellite and high-resolution airborne images of the Platte River, a tributary of the Missouri River. The step-by-step process can get confusing at times, though it is rather simple, all things considered. Upon opening the ENVI+IDL application, I first compile the RivSelect.pro IDL code, originally written by Dr. George Allen and then modified by Carter Boyd (see figure below). The code is run on individual mosaics of satellite or airborne images. To run the code, I simply type into the IDL console “rivSelect, ##”, where ## is the last two digits of the image’s “region”, for example, “rivSelect, 15”. The region corresponds to the image’s Universal Transverse Mercator (UTM) Zone. The next step involves the point collection procedure in which three windows open up simultaneously, and the user is asked to click on connected groups of river pixels using the point collection tool.
The screenshot above shows ENVI+IDL program with a river in the Platte river basin shown on the left and the RivSelect code shown on the right.
It is an odd sort of fun to navigate through all each window with knowledge of what each does. After I select the rivers in the image, I run the rivSelect.pro code again and the rivers that are selected using the point selection tool turn white while all other water bodies turn blue (see Figure below). It is immensely useful to know how to use any coding language and/or program, especially in a science where things are constantly changing and upgrading.
The figure above shows the pre-masked image on the left and the river (white) and water (bleu) masks on the right, created using RivSelect.pro.
Being a research assistant is nothing like I expected but the experience is well worth the time spent learning new programs and contributing to a large research project. To have the opportunity to freely explore tools used in my chosen field as only a freshman in college is wonderful. I have started on understanding the inner workings of coding, as evidenced in the paragraphs above, and have expanded my working knowledge of programs such as IDL, ENVI, Photoshop, and ArcGIS. Not only have I gained technical skills, but I have also learned how to effectively communicate within a research group, which I find to be a valuable skill. I would highly recommend fellow students to get out of their comfort zone and find new opportunities as I did.
E. Aussey is a freshman undergraduate student at Virginia Tech getting his B.S. in Geosciences. He works as a research assistant in the Global Rivers Group.