Skip to content

Welcome to ShallowLearn

ShallowLearn is a Python toolkit for shallow water remote sensing analysis, particularly focused on coral reef environments. It integrates satellite data processing, machine learning workflows, and computer vision techniques for analyzing Sentinel-2 imagery and other remote sensing data.

Key Features

  • Unified Satellite Data Access: Download and process Landsat and Sentinel-2 data with consistent interfaces
  • Advanced IO Classes: Smart satellite image loading with automatic band detection and metadata preservation
  • Machine Learning Pipeline: QuickLook filtering, dimensionality reduction, and clustering for rapid analysis
  • Spectral Analysis: Water quality indices and marine remote sensing calculations
  • Segmentation Tools: Superpixel generation and processing for detailed analysis
  • Visualization: Specialized plotting functions for remote sensing data

Architecture Overview

graph TD
    A[Satellite APIs] --> B[IO Module]
    B --> C[Core Array Utils]
    B --> D[ML Module]
    B --> E[Features Module]
    D --> F[Segmentation Module]
    E --> F
    C --> G[Visualization Module]
    F --> G
    E --> G
    G --> H[Utilities Module]
    D --> H

Module Overview

  • IO Module: Loading and handling satellite imagery (Landsat, Sentinel-2, GeoTIFF)
  • API Module: Unified satellite data download from USGS and Copernicus
  • ML Module: QuickLook filtering, PCA, t-SNE, clustering for rapid analysis
  • Core Module: Fundamental array operations and utilities
  • Features Module: Spectral indices, computer vision features, and depth-invariant indices
  • Segmentation Module: Superpixel generation and processing
  • Visualization Module: Plotting, animations, and display functions
  • Utilities Module: Helper functions and support tools

Getting Started

  1. Installation - Set up ShallowLearn with uv
  2. Quick Start - Basic usage examples
  3. API Reference - Complete function documentation

Package Management

ShallowLearn exclusively supports uv as the package manager. This ensures consistent dependency management and faster installation.

# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install ShallowLearn
uv pip install -e .