DotDotGoose is a free, open source tool to assist with manually counting objects in images. DotDotGoose was purpose-built since most conservation researchers and practitioners working on counting objects in images were using software such as Adobe Photoshop and ImageJ which are not ideally suited for many conservation applications.
The DotDotGoose interface makes it easy to create and edit classes of objects to be counted and you can pan and zoom to accurately place points to identify individual objects. Information about objects can be stored in custom fields and this metadata can be exported for use in spreadsheet or statistics software.
Point data collected with DotDotGoose will be very valuable training and validation data for any future efforts with computer assisted counting.
Contact Us
If you have any questions or are interested in this project please contact Peter Ersts (Software Developer, Center for Biodiversity and Conservation) .
Bugs and Feature Requests
If you find a bug or have a great idea for a new feature that will make DotDotGoose better, please submit them to the GitHub repository (https://github.com/persts/DotDotGoose/issues) so the whole community can see and comment! If you can't submit bugs/feature requests on GitHub use the contact button above.
Updates
- 2024-01-02 - version 1.7.0
- (Bug Fix) Prevent crash during export when images are missing.
- (Bug Fix) Renaming point in some situations could cause crash.
- (Enhancement) Better dark mode support.
- (Enhancement) Rescan working directory for new or missing images on loading existing pnt file.
- (Enhancement) Interactive image enhancement.
- (Enhancement) Experimental support for external polygon annotations to highlight counting boundary in overlapping images. Contact us for more information.
- 2023-01-31 - version 1.6.0
- (Enhancement) Internationalization: Translations for Chinese, French, Spanish, Vietnamese.
- (Enhancement) Undo and redo capabilities.
- (Enhancement) Export image display area (image, points, grid) to new jpg.
- (Enhancement) Dirty data check on close to prevent loss of unsaved changes.
- (Enhancement) Export point coordinates as geographic coordinates (command line only).
- (Enhancement) Certificate signed Windows binary to help prevent false positives from virus/malware scanners.
- (Enhancement) Support for INTEL - Big Sur (11.0) Montery (12.0) Ventura (13.0)
- (Enhancement) Support for ARM - Montery (12.0) Ventura (13.0)
- 2022-01-03 - version 1.5.3
- (Enhancement) Packaged for OSX 12.0 (Monterey - Apple M1 Chip).
- (Bug Fix) Prevent crash when importing classes and custom fields after images have been loaded.
- 2020-05-27 - version 1.5.2
- (Enhancement) Packaged for OSX 11.0 (Big Sur).
- (Bug Fix) Prevent crash when trying to save pnt file to a folder without write permissions.
- 2020-05-27 - version 1.5.1
- (Enhancement) User can cycle through images with W (up) and S (down) keys.
- (Enhancement) Quick save can be accomplished with Ctrl+S (Windows + Linux) or Command+S (OSX)
- (Bug Fix) CSV file not correct when custom fields were empty
- (Bug Fix) Crash could occur when user double clicked on the Count column in the file tree
- 2020-05-06 - version 1.5.0
- (Enhancement) Option to hide image data / custom fields
- (Enhancement) Split resizer to adjust / hide class or summary GUI elements
- (Enhancement) Improved refresh behavior when resizeing window while zoomed in **not available on OSX
- 2020-04-21 - version 1.4.1
- (Enhancement) Number keys can be used to quickly switch between classes
- (Bug Fix) Fixed grid display bug when switching between images
- 2020-04-09 - version 1.4.0
- (Enhancement) Keep current class active between images.
- (Enhancement) GUI update - select folder of images.
- (Enhancement) GUI update - zoom controls for when mouse wheel not available.
- 2020-02-06 - version 1.3.0
- (Enhancement) Drag and drop folder of images.
- (Enhancement) User can cycle through images with up and down arrow keys.
- 2019-08-28 - version 1.2.0
- (Bug Fixed) Some large mosaics would not finish loading in Windows 7 & 10.
- (Enhancement) Display the image name in the summary window before 1st point is collected.
- (Enhancement) Drag and drop multiple image files at once.
- (Enhancement) Customizable grid overlay to help focus counting efforts.
- (Enhancement) Extra export options.
- (Enhancement) User can change "active" class display color.
- (Enhancement) UI upgrades and mild redesign.
- 2019-07-24 - Version 1.1.1
- (Bug Fixed) Importing classes and custom fields from am existing project (pnt file) set working directory.
- 2019-06-27 - Version 1.1.0
- (Bug Fixed) Loading pnt file with missing images caused application to crash.
- (Bug Fixed) Deleting custom field caused application to crash when no fields existed.
- (Enhancement) Display working directory in interface.
- (Enhancement) Prevent projet (pnt) file from being saved outside of working directory.
- (Enhancement) Updated documentation to include details about saving and loading point data.
- 2019-05-23 - Version 1.0.1
- (Bug Fixed) Entering coordinates in the X and Y field caused application to crash.
DotDotGoose In Action
Have a use case you would like to share? !
David Sopjes, Sanctuary Forest. & Eel River Recovery Project.
The Eel River is the 3rd largest watershed in California and experiences very low flows during the fall as a result of our long dry summers and increasing extraction by agriculture. The Fall chinook run sees fish enter the lower river in early October where they would hold in pools waiting for the rains to arrive in late November that will let them get higher up into the tributaries to spawn. We have been counting these early fish for several year using a variety of methods: snorkeling, then stand-up paddle boards, and this year I started filming them with a drone. The pools that used to exist in the lower river have recently been filled with gravel from upriver disturbances, like logging and road building, and fish are confined to a few shallow runs making them easy to film from above. Using DotDotGoose has enabled me to count and document the numbers of fish (2500 this year) in the early run much more accurately than we could in the past. This will be our preferred method ongoing. These accurate numbers will also help us document changes that might be due to poaching, the main threat to the fish at this time.
Rochelle Thomas, Columbia University / Hudson Bay Project
The Hudson Bay Project has been studying the plant and animal communities of the coastal lowlands of the Hudson Bay, Manitoba for over forty years. Aerial photographs of breeding Lesser Snow Goose flocks were collected in twenty-five of those years, and I will be using DotDotGoose to analyze the population dynamics of this species, comparing the photographic data to what has been collected in annual banding drives. Analyzing photos of geese in their natural settings confers several advantages, as there is some concern that juveniles might get lost during roundups, and additionally, it is easier to see if there are pockets of landscape where reproductive success is higher or lower. DotDotGoose also helps me to analyze the reproductive success of individual flocks, and differences in substrate and the overall health of the habitat, the latter of which is made possible by using the customizable field options. Lastly, this species is polymorphic, and earlier studies have documented a 30/70 blue to white ratio. The analyzed photographs will provide data on whether this ratio is changing over time.
Shashank Srinivasan, Technology for Wildlife.
We were tasked with conducting a demonstration mission in Odisha, India to showcase the utility of Unmanned Aerial Vehicles (UAVs, aka drones) for post-disaster surveys. A large number of trees and buildings were damaged or destroyed by Cyclone Fani, which made landfall in Odisha on May 3rd 2019. The government will be compensating the owners of these trees and buildings, but the scale of the disaster means that getting accurate figures for the destruction is time-consuming and expensive. Drones may speed up this process considerably, and as part of the demonstration, we used DotDotGoose to count fallen coconut trees within the study area. An untrained volunteer was able to count 352 trees within a one-hour period using drone imagery in DotDotGoose, which is much faster than it would have taken for an enumerator to count the fallen trees in the farm.