Skip to content

web application for automated sand grain size analysis using computer vision models.

Notifications You must be signed in to change notification settings

iamnycx/sandscape

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SandScape

SandScape is a web-based application for automated sediment grain size analysis using computer vision and machine learning models. It enables users to upload sediment images, detect scale references, and generate detailed grain size distribution reports.

Features

  • Automated coin detection for scale calibration
  • Grain size analysis using advanced ML models
  • Interactive data visualization and mapping
  • RESTful API for programmatic access
  • Docker-based deployment for easy setup

Architecture

The application is composed of the following services:

  • Frontend: Next.js web application providing the user interface
  • Backend: FastAPI server handling image processing and API requests
  • YOLO Model: Coin detection service running in Docker
  • Sedinet Model: Grain analysis service running in Docker

Prerequisites

  • Docker and Docker Compose
  • Git

Local Setup

  1. Clone the repository:

    git clone https://github.com/iamnycx/sandscape.git
    cd sandscape
  2. Start all services using Docker Compose:

    docker-compose up --build
  3. Access the application:

Usage

  1. Open the web application in your browser
  2. Upload sediment images with a reference coin for scale
  3. Wait for automatic processing and analysis
  4. View detailed grain size distributions and visualizations

API Endpoints

  • GET /image - Retrieve list of processed images
  • POST /image/ - Upload new image for analysis
  • GET /getimage/{id} - Retrieve processed image by ID

Development

Frontend Development

cd client
npm install
npm run dev

Backend Development

cd server
pip install -r requirements.txt
uvicorn main:app --reload

Model Services

Model services run in Docker containers. Refer to individual model directories for development setup.

Technologies

  • Frontend: Next.js, React, TypeScript, Tailwind CSS
  • Backend: FastAPI, Python, Uvicorn
  • ML Models: YOLOv8 (coin detection), Sedinet (grain analysis)
  • Visualization: D3.js, Leaflet, Recharts
  • Deployment: Docker, Docker Compose

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

License

This project is licensed under the MIT License.

About

web application for automated sand grain size analysis using computer vision models.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •