Skip to content

Latest commit

Β 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ”¬ Pixalyze

Pixalyze

A modern, powerful image processing and analysis application with React frontend and Flask backend

React Flask Python OpenCV License


✨ Features

πŸ–ΌοΈ Image Operations

  • Upload & Preview - Drag-and-drop with instant preview
  • Format Support - PNG, JPG, GIF, BMP, TIFF

πŸ“Š Histogram Analysis

  • Real-time histogram visualization
  • Global histogram equalization
  • CLAHE (Contrast Limited Adaptive Histogram Equalization)
  • Contrast stretching

πŸŽ›οΈ Spatial Filters

  • Blur: Gaussian, Box, Median, Bilateral
  • Edge Detection: Sobel, Laplacian, Canny
  • Enhancement: Sharpen, Unsharp Mask, Emboss
  • Custom Kernels: Create your own filters

πŸ“‘ Frequency Domain

  • FFT magnitude and phase visualization
  • Low-pass, High-pass, Band-pass filters
  • Ideal, Gaussian, Butterworth filter types
  • Notch filtering for periodic noise

πŸ”‡ Noise Operations

  • Add Noise: Gaussian, Salt & Pepper, Poisson, Speckle, Uniform
  • Remove Noise: Gaussian blur, Median, Bilateral, Non-local means, Wiener

πŸš€ Quick Start

Prerequisites

  • Python 3.9+
  • Node.js 18+
  • npm or yarn

Backend Setup

cd backend

# Create virtual environment
python -m venv venv

# Activate (Windows)
venv\Scripts\activate

# Activate (Mac/Linux)
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Run the server
python main.py

Frontend Setup

cd frontend

# Install dependencies
npm install

# Start development server
npm run dev

Using Docker

cd docker
docker-compose up --build

πŸ“ Project Structure

image_processing_gui/
β”œβ”€β”€ backend/                    # Flask API
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ models/             # ImageProcessor class
β”‚   β”‚   β”œβ”€β”€ routes/             # API endpoints
β”‚   β”‚   β”œβ”€β”€ utils/              # Helper functions
β”‚   β”‚   └── middleware/         # CORS, error handling
β”‚   β”œβ”€β”€ tests/                  # Unit tests
β”‚   β”œβ”€β”€ main.py                 # Entry point
β”‚   β”œβ”€β”€ config.py               # Configuration
β”‚   └── requirements.txt
β”‚
β”œβ”€β”€ frontend/                   # React UI
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/         # React components
β”‚   β”‚   β”œβ”€β”€ pages/              # Page components
β”‚   β”‚   β”œβ”€β”€ services/           # API services
β”‚   β”‚   β”œβ”€β”€ store/              # State management
β”‚   β”‚   └── index.css           # Tailwind styles
β”‚   β”œβ”€β”€ package.json
β”‚   └── vite.config.js
β”‚
└── docker/                     # Docker configuration
    β”œβ”€β”€ docker-compose.yml
    β”œβ”€β”€ Dockerfile.backend
    └── Dockerfile.frontend

πŸ”Œ API Endpoints

Method Endpoint Description
POST /api/images/upload Upload an image
GET /api/images/<id> Get image by ID
DELETE /api/images/<id> Delete image
GET /api/histogram/<id> Get histogram data
POST /api/histogram/equalize Equalize histogram
POST /api/filters/apply Apply spatial filter
POST /api/fourier/transform Compute FFT
POST /api/fourier/filter Apply frequency filter
POST /api/noise/add Add noise to image
POST /api/noise/remove Remove noise from image

🎨 Screenshots

Upload Interface

Beautiful drag-and-drop upload with instant preview

Histogram Analysis

Interactive histogram visualization with equalization options

Filter Panel

Organized filter categories with real-time parameter adjustment

Fourier Transform

Visualize frequency domain with interactive filtering

Noise Operations

Add and remove various types of noise


πŸ› οΈ Technologies

Frontend

  • React 18 - UI framework
  • Vite - Build tool
  • Tailwind CSS - Styling
  • Framer Motion - Animations
  • Recharts - Data visualization
  • Zustand - State management
  • Axios - HTTP client

Backend

  • Flask - Web framework
  • OpenCV - Image processing
  • NumPy - Numerical computing
  • SciPy - Scientific computing
  • Pillow - Image I/O
  • Gunicorn - Production server

πŸ“– Usage Examples

Enhance a Photo

  1. Upload your image
  2. Go to Histogram tab
  3. Select CLAHE equalization
  4. Adjust clip limit and tile size
  5. Click Apply

Detect Edges

  1. Upload your image
  2. Go to Filters tab
  3. Expand Edge Detection
  4. Choose Canny Edge
  5. Adjust thresholds
  6. Click Apply

Remove Noise

  1. Upload noisy image
  2. Go to Noise tab
  3. Switch to Remove Noise
  4. Select Non-Local Means
  5. Adjust parameters
  6. Click Apply

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments

  • OpenCV team for the amazing image processing library
  • React and Flask communities
  • All contributors and users

Made with ❀️ for image processing enthusiasts

Report Bug Β· Request Feature

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages