A lightweight Rust library for digitizing graphs from images.
GraphEx helps extract data points from plotted graphs represented as images.
The goal is to convert visual graph data into structured numerical form for further analysis or export.
This library allows you to:
- Define reference pixels (axes and graph points)
- Digitize graph data into coordinates
- Output the result to a file, stdout, or other destinations
⚠️ Automatic axis detection and graph tracing are not yet implemented, but are planned for the future.
- Extract (x, y) coordinates from pixel positions
- Manual definition of axis anchors and graph points
- Output data to file, stdout, or database
- Composable, modular, and test-friendly design
GraphEx is in early development and not yet published to crates.io.
Expect breaking changes and a minimal initial feature set.
Pull requests are welcome!
If you'd like to contribute:
- Fork the repo
- Implement a feature or fix a bug
- Open a pull request
- CI/CD will handle the rest 🚀
- Manual coordinate calibration
- CLI interface for processing images
- Automatic axis detection
- Auto-tracing of graph lines
- WebAssembly (WASM) support
Licensed under the MIT License.
To run the project locally after forking:
git clone https://github.com/your-username/graphex.git
cd graphex
docker compose build
docker compose -p graphex up -d
docker exec -it app-graphex /bin/bash
✅ You’re now inside the container — run all development commands (e.g. cargo build, cargo test, etc.) from here.
💡 Note: The project is designed to be developed and executed inside the container.
Made with ❤️ and Rust