Skip to content

Visualization Module

The Visualization module provides plotting and display functions for remote sensing data analysis.

Time Series Plots

extract_point_spectra

Extract spectral values from image stack at specific coordinates:

from ShallowLearn.visualization.time_series_plots import extract_point_spectra
import numpy as np

# Image stack: (time, height, width, bands)
image_stack = np.random.rand(10, 50, 50, 4)
spectra = extract_point_spectra(image_stack, x=25, y=25)
print(f"Spectra shape: {spectra.shape}")  # (10, 4)

plot_spectral_timeseries

Plot spectral values over time:

from ShallowLearn.visualization.time_series_plots import plot_spectral_timeseries
import pandas as pd

# Create date index
dates = pd.date_range('2023-01-01', periods=10, freq='30D')
band_labels = {0: 'Blue', 1: 'Green', 2: 'Red', 3: 'NIR'}

fig = plot_spectral_timeseries(
    spectra=spectra,
    dates=dates, 
    band_labels=band_labels,
    title="Spectral Time Series"
)

animate_images_and_timeseries

Create animated visualization with images and time series:

from ShallowLearn.visualization.time_series_plots import animate_images_and_timeseries
import pandas as pd

# Sample data
images = [np.random.rand(50, 50, 3) for _ in range(5)]
dates = pd.date_range('2023-01-01', periods=5, freq='30D')
timeseries_data = pd.DataFrame({
    'B4': np.random.rand(5),
    'B3': np.random.rand(5), 
    'B2': np.random.rand(5)
}, index=dates)

# Create animation
animation_path = animate_images_and_timeseries(
    images=images,
    timeseries_data=timeseries_data,
    point_coords=(25, 25),
    output_path="animation.gif"
)

QuickLook Visualization

QuickLookVisualizer

Visualize QuickLook analysis results:

from ShallowLearn.ml.quicklook_processor import QuickLookProcessor
from ShallowLearn.visualization.quicklook_viz import QuickLookVisualizer

# Run QuickLook analysis first
processor = QuickLookProcessor()
# processor.run_complete_analysis(images)  # Process your images

# Create visualizer
viz = QuickLookVisualizer(processor)