https://github.com/dbetchkal/public_dataglean_i
A Processing based tool to glean useful numeric results that are 'locked up' in a digital image
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.1%) to scientific vocabulary
Keywords
Repository
A Processing based tool to glean useful numeric results that are 'locked up' in a digital image
Basic Info
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
PublicDataGleanI
A tool to glean useful numeric results that are 'locked up' in a plot
From a static plot: - we define the Y, then X range bounds with the mouse, then... - we give the bounds numeric values with the keyboard, then... - we glean one or multiple (x,y) series with the mouse, - writing each series to a JSON file.
Quick Start
Download this repository.
Save an image file to the Processing 'data' folder.
Change the path variable, and press Run.
Follow the directions in the console.
Tutorial
Consider the image from Betchkal et al. 2022, Figure 10, which shows species richness, $S$, versus the tenth-percentile sound level of an environment, $L{90}$:
<img src=https://github.com/dbetchkal/PublicDataGleanI/blob/main/PublicDataGlean_I/data/L90%20vs%20S.png height=400>
The image is included with the repository. Say we're replicating this experiment and we'd like to recover the co-ordinates of points from this plot without access to the original data. The process requires mapping the image co-ordinates back into the measurement co-ordinates. Public_DataGlean_I allows us to perform this task.
Step One: enumerate the bounds on each figure axis
The first step involves clicking each linear-scale, orthogonal axis bound in sequence: {Y_max, Y_min, X_min, X_max}, for which Public_DataGlean_I will print the pixel coordinates to the console. The user may choose any reference point on the original image as long as the set bounds the data to be gleaned. The green linear guides indicate the user's mouseX and mouseY positions, shown in the image below before clicking X_max ($L{90}$ = 30.0). After each bound is clicked, the user sequentially enters the corresponding numeric value from the figure for each reference point using the keyboard. Pressing the up-arrow ⬆️ allows a given numeric value of the axis bound to be re-entered. Pressing the down-arrow ⬇️ key advances to the next axis bound.
<img src=https://github.com/dbetchkal/PublicDataGleanI/blob/main/static/PublicDataGlean_I%20tutorial%20step%20one.png height=400>
Step Two: glean the series of points
The second step simply involves clicking a series of points to write their estimated figure co-cordinates to a file. The user begins data entry for a series by pressing the 'S' key. As in step one, the green linear guides follow the user's mouseX and mouseY positions. The image below shows the console output immediately after clicking the red point labeled 'TKAN' co-ordinates of roughly (17.0, 17.3). To begin a new series, press 'S' again. To close the file/program, press 'C'.

Python parsing support
Basic Python parsing support .geojson $\rightarrow$ pandas.DataFrame is provided as Public_DataGlean_I.read_Dataglean_json(). Bi-directional transformations from logarithmic to linear axes may be performed using they keyword parameters of the function. For example:
data, bounds = read_Dataglean_json(dg_path, x_to_log=False, y_to_log=False, x_from_log=False, y_from_log=False)
plt.plot(data["x"], data["y"]) # convenient plotting
bounds # returns [0, 20, 20, 110] corresponding to xmin,ymin,xmax,ymax
Public domain
This project is in the worldwide public domain. As stated in CONTRIBUTING:
This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.
All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.
Owner
- Name: Davyd Halyn Betchkal
- Login: dbetchkal
- Kind: user
- Location: Denali National Park and Preserve, AK
- Company: National Park Service
- Website: https://www.linkedin.com/in/davyd-betchkal-8111b5137/
- Repositories: 3
- Profile: https://github.com/dbetchkal
GitHub Events
Total
- Push event: 2
Last Year
- Push event: 2
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0