Dendrochronology is a scientific technique used to date tree samples.
For trees in temperate climates a dark growth ring correlates to the winter months, while a lighter growth ring correlates to the summer months. As there will be one pair of bands for each year, one can determine the year a band was formed by knowing the year the tree was cut and then counting backwards.
It is also possible to cross-date tree samples of a region by recognizing growth patterns across two samples. Scientists have been able cross-date samples back many thousands of years.
In a simplified explanation, a researcher will measure the distance between annual growth rings with the assistance of a microscope and a linear calibrated slide. The LINTAB system is a good example of this setup.
Once the measurements have been collected, the data can be processed with various dendrochronology software. These can assist in normalization, quality control, and cross dating.
Great efforts have been made to automate the post-processing of collected data, but the process of collecting measurements is still primarily a manual process. It should be possible to use a computer vision algorithm to automatically perform measurements from tree samples.
The goal of the project is to use the techniques of computer vision to automate the data collection process of dendrochronology.
- Reducing the time and complexity of research
- Reducing the cost of research
- Increase the accuracy and reproducibility of results
- For the technical challenge
- OpenCV Canny edge detection to find the growth rings
- The user interface is a Swing based Java application.
I was able to build a demo application that can detect the boundaries between early and late wood with high but not perfect accuracy. The user is able to assist the application by manually marking growth rings that were not detected. The application can then automatically collect relative measurements of the growth rings and print them out for the user.
This demo video shows running the application on a sample image.
- When the image loads, early wood and late wood boundaries are automatically detected.
- Note that this process is not perfect, some boundaries are not marked.
- Next the user will draw a line to measure along.
- The line should run perpendicular to the rings, but in the demo we use a horizontal line
- When the line is done being drawn, the boundary curves are removed and only the intersection points remain.
- Next the user assists the program by adding points where the algorithm failed to find boundaries.
- Finally, the user presses the export button. The application measures the distance between the points and prints it to the screen. The measurements are recorded in pixels.
I have licensed the project under the MIT License. Please feel free to use this software or extend it as you see fit.
There are a few unfinished tasks needed to make this project generally usable.
- The measurements must be performed perpendicularly to the growth rings
- Algorithmic improvements may improve the detection rate
- False positives need to be removed manually
- The output should support one or more standard data formats
Computerized data collection is the future of dendrochronology. There is great potential for cost and time savings.
An online repository of high quality scanned images of tree samples should be created. As new computer vision algorithms are designed, the existing images in the repository can be reprocessed at high speed and low cost. Images offer an advantage in that many attributes of the samples could be studied without requiring physical access, or hours of labor at a microscope. Experimental results can be more easily re-verified if all sample images are shared in this fashion.
Some other tools have been built which have similar functionality: