Skip to content

Tech-Psycho95/LOOK_DGC

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

47 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

LOOK-DGC
๐Ÿ” An Open Source Digital Image Forensics Toolkit

License: MIT Python 3.11+ Platform Docker Ready Online + Offline Ready


๐Ÿ“‹ Table of Contents


๐ŸŽฏ Introduction

"Forensic Image Analysis is the application of image science and domain expertise to interpret the content of an image and/or the image itself in legal matters." - Scientific Working Group on Imaging Technologies

LOOK-DGC is a comprehensive digital image forensics toolkit developed by Gopichand. It provides a fully integrated environment for analyzing digital images to detect tampering, forgery, and manipulation.

๐ŸŒŸ Why LOOK-DGC?

  • ๐Ÿ”“ Open Source: Free and accessible to everyone
  • ๐ŸŽ“ Educational: Learn digital forensics techniques
  • ๐Ÿ”ฌ Research-Ready: Implement latest algorithms from research papers
  • ๐Ÿ›ก๏ธ Professional: Used by investigators and security professionals
  • ๐ŸŒ Community-Driven: Democratizing image forensics tools worldwide

๐Ÿš€ Quick Start

Option 1: Docker (Recommended)

# Clone the repository
git clone https://github.com/Gooichand/LOOK-DGC.git
cd LOOK-DGC

# For platform-specific Docker setup instructions, see DOCKER_README.md

Option 2: Direct Installation

# Clone and setup
git clone https://github.com/Gooichand/LOOK-DGC.git
cd LOOK-DGC

# Windows
Launch-Look-DGC.bat

# Linux/macOS
./launch-look-dgc.sh

โšก Features

๐Ÿ–ฅ๏ธ Modern Interface

  • ๐ŸŽจ Qt-based GUI: Professional multi-window management
  • ๐Ÿ“ Format Support: JPEG, PNG, TIFF, BMP, WebP, PGM, PFM, GIF
  • โšก Responsive Viewer: Real-time pan, zoom, and navigation
  • ๐Ÿ”„ Interactive Analysis: Live algorithm parameter adjustment
  • ๐Ÿ“Š Export Capabilities: Visual and textual result export
  • โ“ Built-in Help: Comprehensive tutorials and explanations

๐Ÿค– AI Solutions (TruFor)

LOOK-DGC includes an AI Solutions tool group featuring TruFor, an AI-based image forensic tool.

TruFor is designed to:

  • Detect image manipulations using deep learning methods
  • Complement traditional forensic tools with data-driven analysis
  • Provide probabilistic insights rather than deterministic decisions

โš ๏ธ Note: AI-based results may have limitations depending on image quality, dataset bias, and model assumptions. TruFor outputs should be interpreted alongside traditional forensic analyses.

๐Ÿ› ๏ธ Analysis Tools

๐Ÿ“‹ General Tools
  • ๐Ÿ“ท Original Image: Unaltered reference display
  • ๐Ÿ” File Digest: Cryptographic hashes and file information
  • โš™๏ธ Hex Editor: Raw byte-level file examination
  • ๐Ÿ” Similar Search: Online reverse image search integration
๐Ÿ“Š Metadata Tools
  • ๐Ÿ—๏ธ Header Structure: Interactive file structure visualization
  • ๐Ÿ“‹ EXIF Full Dump: Complete metadata extraction and analysis
  • ๐Ÿ–ผ๏ธ Thumbnail Analysis: Embedded thumbnail comparison
  • ๐ŸŒ Geolocation Data: GPS coordinate mapping and visualization
๐Ÿ”ฌ Inspection Tools
  • ๐Ÿ” Enhancing Magnifier: Forgery-detection enhanced magnification
  • ๐Ÿ“ˆ Channel Histogram: RGB/composite histogram analysis
  • โš–๏ธ Global Adjustments: Brightness, hue, saturation manipulation
  • โ†”๏ธ Reference Comparison: Synchronized dual-image comparison
๐ŸŽจ Color Analysis
  • ๐Ÿ“Š RGB/HSV Plots: Interactive 2D/3D color space visualization
  • ๐Ÿ”„ Space Conversion: Multiple color space transformations
  • ๐Ÿงฎ PCA Projection: Principal component analysis projection
  • ๐Ÿ“ Pixel Statistics: Comprehensive per-pixel statistical analysis
๐Ÿ“ก Noise Analysis
  • ๐Ÿ”Š Noise Separation: Multi-type noise component extraction
  • ๐Ÿ“Š Min/Max Deviation: Block-based statistical deviation analysis
  • ๐Ÿ”ข Bit Plane Analysis: Individual bit layer examination
  • ๐Ÿ†” PRNU Identification: Camera sensor pattern noise analysis
๐Ÿ“ท JPEG Analysis
  • ๐Ÿ“Š Quality Estimation: Quantization table analysis
  • โšก Error Level Analysis: Compression level difference visualization
  • ๐Ÿ”„ Multiple Compression: Machine learning compression detection
  • ๐Ÿ‘ป JPEG Ghost Maps: Compression artifact trace visualization
โš ๏ธ Tampering Detection
  • ๐Ÿ“‹ Copy-Move Forgery: Feature descriptor cloning detection
  • โœ‚๏ธ Composite Splicing: DCT statistical splicing detection
  • ๐Ÿ”„ Image Resampling: 2D interpolation trace detection
  • ๐ŸŽ›๏ธ Contrast Enhancement: Color distribution manipulation analysis
๐Ÿ”ง Additional Tools
  • ๐Ÿ” Median Filtering: Nonlinear filtering trace detection
  • ๐Ÿ’ก Illuminant Mapping: 3D surface light direction estimation
  • ๐Ÿ”ด Dead/Hot Pixels: Sensor defect detection and correction
  • ๐Ÿ‘๏ธ Stereogram Decoder: Hidden 3D image extraction

๐Ÿ“„ PDF Report Generation

LOOK-DGC supports generating detailed PDF reports from analysis tools that provide structured data. The following tools include PDF export capabilities:

  • ๐Ÿ“ท Original Image: Baseline image display with metadata summary
  • ๐Ÿ“Š Histogram Analysis: Statistical data, channel information, and histogram plot visualization
  • ๐Ÿ—๏ธ Header Structure: File header analysis summary and metadata overview
  • ๐Ÿ”Š Noise Analysis: Noise estimation parameters, processing settings, and processed image

To generate a PDF report, select the desired analysis tools and use the "Generate Report" option from the File menu.



๐Ÿ“ Project Structure

Below is an overview of the main folders and files in the LOOK-DGC repository to help new contributors understand the codebase easily:

LOOK-DGC/
โ”œโ”€โ”€ gui/                  # Main GUI application source code
โ”‚   โ”œโ”€โ”€ modules/          # Core forensic analysis modules
โ”‚   โ””โ”€โ”€ ui/               # Qt UI layouts and components
โ”œโ”€โ”€ images/               # Sample input images
โ”œโ”€โ”€ output/               # Generated analysis results
โ”œโ”€โ”€ demo-ss/              # Screenshots for README
โ”œโ”€โ”€ docker/               # Docker configuration files
โ”œโ”€โ”€ Launch-LOOK-DGC.bat   # Windows launcher
โ”œโ”€โ”€ launch-look-dgc.sh    # Linux/macOS launcher
โ”œโ”€โ”€ docker-compose.yml    # Docker Compose config
โ”œโ”€โ”€ Dockerfile            # Docker build file
โ”œโ”€โ”€ LICENSE               # MIT License
โ”œโ”€โ”€ README.md             # Project documentation
โ””โ”€โ”€ HOW_IT_WORKS.md       # Forensic workflow explanation


## ๐Ÿ“ธ Screenshots

<p align="center">
  <img src="Demo-Ss/0_gen.png" alt="General Tools" width="800"/>
  <br><b>๐Ÿ“‹ General Tools</b>: Original Image, File Digest, Hex Editor, Similar Search
</p>


<p align="center">
  <img src="Demo-Ss/2_ins.png" alt="Visual Inspection" width="800"/>
  <br><b>๐Ÿ”ฌ Visual Inspection</b>: Magnifier, Histogram, Reference Comparison
</p>

<p align="center">
  <img src="Demo-Ss/3_detai.png" alt="Detail Analysis" width="800"/>
  <br><b>๐ŸŽฏ Detail Analysis</b>: Gradient, Edge Filter, Wavelet, Frequency Split
</p>

<p align="center">
  <img src="Demo-Ss/4_clour.png" alt="Color Analysis" width="800"/>
  <br><b>๐ŸŽจ Color Analysis</b>: RGB/HSV Plots, Space Conversion, PCA, Statistics
</p>

<p align="center">
  <img src="Demo-Ss/5_noise.png" alt="Noise Analysis" width="800"/>
  <br><b>๐Ÿ“ก Noise Analysis</b>: Noise Separation, Min/Max Deviation, Bit Planes
</p>

<p align="center">
  <img src="Demo-Ss/6_jpeg.png" alt="JPEG Analysis" width="800"/>
  <br><b>๐Ÿ“ท JPEG Analysis</b>: Quality Estimation, Error Level Analysis
</p>

<p align="center">
  <img src="Demo-Ss/7_tampe.png" alt="Tampering Detection" width="800"/>
  <br><b>โš ๏ธ Tampering Detection</b>: Copy-Move, Splicing, Resampling, Filtering
</p>

---

## ๐Ÿ’ป Installation

### ๐Ÿ“‹ Prerequisites
- **๐Ÿ Python 3.11+** 
- **๐Ÿ’พ 4GB+ RAM** (recommended)
- **๐Ÿ–ฅ๏ธ Windows/Linux/macOS**

### ๐Ÿš€ Method 1: Quick Start (Recommended)

#### Windows
```cmd
git clone https://github.com/Gooichand/LOOK-DGC.git
cd LOOK-DGC
Launch-Look-DGC.bat

Linux/macOS

git clone https://github.com/Gooichand/LOOK-DGC.git
cd LOOK-DGC
chmod +x launch-look-dgc.sh
./launch-look-dgc.sh

๐Ÿ”ง Method 2: Manual Setup

1๏ธโƒฃ Clone Repository

git clone https://github.com/Gooichand/LOOK-DGC.git
cd LOOK-DGC

2๏ธโƒฃ Create Virtual Environment

# Using venv
python -m venv .venv

# Activate (Windows)
.venv\Scripts\activate.bat

# Activate (Linux/macOS)
source .venv/bin/activate

3๏ธโƒฃ Install Dependencies

cd gui
pip install -r requirements.txt

Alternatively, you can use the automated dependency checker:

python check_deps.py

Or validate dependencies before launching:

python validate_deps.py

4๏ธโƒฃ Launch Application

python look-dgc.py

๐Ÿง Linux Additional Setup

If you encounter Qt platform plugin errors:

sudo apt install -y libxcb-cursor-dev

๐Ÿณ Docker Setup

๏ฟฝ Docker Setup (See Detailed Guide)

For Linux, Windows, and macOS, please refer to DOCKER_README.md for platform-specific Docker instructions.


๐Ÿ“š Documentation

๐Ÿ“– Additional Resources

๐ŸŽ“ Learning Resources

  • ๐Ÿ“š Research Papers: Implementation references in bibliography
  • ๐ŸŽฏ Practical Examples: Try analyzing known edited vs. original images
  • ๐Ÿ”ฌ Algorithm Details: Source code documentation and comments
  • ๐ŸŒ Community: Join discussions and contribute improvements

๐Ÿงช Testing

LOOK-DGC includes automated tests to ensure code quality and functionality.

Running Tests

Install Test Dependencies

# Navigate to tests directory
cd tests

# Install testing requirements
pip install -r test_requirements.txt

Run Unit Tests

# Run all unit tests
python -m pytest unit/ -v

# Run with coverage report
python -m pytest unit/ -v --cov=../gui --cov-report=html

# Run specific test file
python -m pytest unit/test_utility.py -v

Run Integration Tests

# Run integration tests
python -m pytest integration/ -v

Run All Tests

# Run complete test suite
python -m pytest -v

Test Coverage

Test coverage reports are generated in the tests/htmlcov/ directory when running with --cov-report=html.

CI/CD

GitHub Actions workflows automatically run tests on:

  • Every push to main and develop branches
  • Every pull request
  • Multiple operating systems (Ubuntu, Windows)
  • Multiple Python versions (3.11, 3.12)

View test results and coverage on GitHub Actions.


๐Ÿค Contributing

We welcome contributions from the community! Here's how you can help:

๐Ÿ› Bug Reports

  • Use GitHub Issues to report bugs
  • Include system information and steps to reproduce
  • Attach sample images if relevant (ensure no sensitive data)

๐Ÿ’ก Feature Requests

  • Suggest new analysis algorithms
  • Propose UI/UX improvements
  • Request additional file format support

๐Ÿ”ง Code Contributions

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

๐Ÿ“– Documentation

  • Improve existing documentation
  • Add tutorials and examples
  • Translate to other languages

๐ŸŒŸ Acknowledgments

๐Ÿ”ฌ Research Foundation

This project implements algorithms from cutting-edge research papers in digital image forensics:

  • Image Resampling: "Exposing Digital Forgeries by Detecting Traces of Re-sampling" (Popescu & Farid)
  • JPEG Ghosts: "Exposing Digital Forgeries from JPEG Ghosts" (H. Farid)
  • Noise Analysis: "Using noise inconsistencies for blind image forensics" (Mahdian & Saic)
  • Noiseprint: "A CNN-based camera model fingerprint" (Cozzolino & Verdoliva)

๐Ÿ› ๏ธ Technology Stack

  • ๐Ÿ Python: Core programming language
  • ๐Ÿ‘๏ธ OpenCV: Computer vision and image processing
  • ๐Ÿงฎ NumPy/SciPy: Mathematical computations and algorithms
  • ๐Ÿค– TensorFlow: Machine learning and AI-powered detection
  • ๐Ÿ–ฅ๏ธ PySide6: Modern Qt-based user interface
  • ๐Ÿณ Docker: Containerization and easy deployment

๐Ÿ” LOOK-DGC - Making Digital Image Forensics Accessible to Everyone
Developed with โค๏ธ by Gopichand

โญ Star this project โ€ข ๐Ÿ› Report Bug โ€ข ๐Ÿ’ก Request Feature


Ready to become a digital detective? Clone the repository and start your first investigation! ๐Ÿ•ต๏ธโ™‚๏ธ

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Perl 64.3%
  • HTML 33.0%
  • Python 2.2%
  • C++ 0.5%
  • PostScript 0.0%
  • Makefile 0.0%