Skip to content

c2siorg/imagelab

Repository files navigation

ImageLab

License

A desktop application for visual, block-based image processing using Google Blockly and OpenCV.js. ImageLab lets users drag and connect blocks to build image processing pipelines without writing code. The project includes a legacy Electron app, a new React frontend, and a Python backend.

Features

  • Block-based image processing using Google Blockly — no coding required
  • OpenCV.js powered operations: blurring, filtering, thresholding, geometric transforms, and more
  • Drag-and-connect blocks to build image processing pipelines
  • Real-time preview of processing results
  • Legacy Electron desktop app and modern React + FastAPI web app

Prerequisites

  • Node.js >= 18
  • Python 3.12+
  • PostgreSQL

Getting Started

Electron App (Legacy)

cd electron-app-legacy
npm install
npm start

Backend

cd imagelab-backend
cp .env.example .env
uv sync
uv run uvicorn app.main:app --reload --port 4100

Frontend

cd imagelab-frontend
cp .env.example .env
npm install
npm run dev
Service Port
Frontend 3100
Backend 4100

Running Tests

# Electron app
cd electron-app-legacy && npm test

# Backend
cd imagelab-backend && uv run pytest

# Frontend
cd imagelab-frontend && npm run test

Project Structure

imagelab/
  electron-app-legacy/   # Original Electron + Blockly app
  imagelab-frontend/     # React + Vite frontend
  imagelab-backend/      # Python FastAPI backend
  docs/                  # Project documentation site

Contributing

See CONTRIBUTING.md for guidelines.

Code of Conduct

This project follows the Contributor Covenant.

License

Apache 2.0

Author

Oshan Mudannayake

For questions or queries about this project, please reach out via email.

About

ImageLab is a standalone tool which supports anyone to get started with image processing related concepts and techniques in an interactive, less logical way.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors