VOOZH about

URL: https://www.nuget.org/packages/Mostlylucid.LucidRAG.ImageSummarizer/

⇱ NuGet Gallery | Mostlylucid.LucidRAG.ImageSummarizer 2.7.5




👁 Image
Mostlylucid.LucidRAG.ImageSummarizer 2.7.5

dotnet add package Mostlylucid.LucidRAG.ImageSummarizer --version 2.7.5
 
 
NuGet\Install-Package Mostlylucid.LucidRAG.ImageSummarizer -Version 2.7.5
 
 
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Mostlylucid.LucidRAG.ImageSummarizer" Version="2.7.5" />
 
 
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Mostlylucid.LucidRAG.ImageSummarizer" Version="2.7.5" />
 
Directory.Packages.props
<PackageReference Include="Mostlylucid.LucidRAG.ImageSummarizer" />
 
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Mostlylucid.LucidRAG.ImageSummarizer --version 2.7.5
 
 
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Mostlylucid.LucidRAG.ImageSummarizer, 2.7.5"
 
 
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Mostlylucid.LucidRAG.ImageSummarizer@2.7.5
 
 
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Mostlylucid.LucidRAG.ImageSummarizer&version=2.7.5
 
Install as a Cake Addin
#tool nuget:?package=Mostlylucid.LucidRAG.ImageSummarizer&version=2.7.5
 
Install as a Cake Tool
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

ImageSummarizer.Core

Signal-based image intelligence with 22-wave ML pipeline and unified IPipeline integration.

Deterministic image profiling with optional OCR, motion analysis, embeddings, and constrained vision captions. Part of the LucidRAG unified pipeline architecture.

NuGet: Mostlylucid.LucidRAG.ImageSummarizer

Key Features

  • Signal-Based Architecture: 22+ waves emit typed, confidence-scored signals
  • Unified Pipeline: Integrates with IPipeline interface for seamless multi-modal processing
  • Intelligent Escalation: Deterministic gates decide OCR → Florence-2 → Vision LLM routing
  • Filmstrip Optimization: 30× token reduction for GIF/WebP subtitle extraction
  • Content Hashing: XxHash64-based caching with SQLite signal persistence
  • Execution Profiles: Fast (~100ms), Balanced, Quality modes

Install

# NuGet package
dotnet add package Mostlylucid.LucidRAG.ImageSummarizer

# Or use via LucidRAG unified CLI
dotnet tool install -g LucidRAG.Cli

Quick Start

Via Unified Pipeline (Recommended)

using Mostlylucid.Summarizer.Core.Pipeline;

// Register all pipelines
services.AddDocSummarizerImages(); // Adds ImagePipeline
services.AddPipelineRegistry();

// Get registry and process
var registry = serviceProvider.GetRequiredService<IPipelineRegistry>();
var pipeline = registry.FindForFile("image.gif");

var result = await pipeline.ProcessAsync("image.gif");
foreach (var chunk in result.Chunks)
{
 Console.WriteLine($"{chunk.ContentType}: {chunk.Text}");
 Console.WriteLine($"Confidence: {chunk.Confidence:P1}");
}

Direct WaveOrchestrator Usage

using Mostlylucid.DocSummarizer.Images.Services.Analysis;

var orchestrator = serviceProvider.GetRequiredService<WaveOrchestrator>();
var profile = await orchestrator.AnalyzeAsync("image.png");

// Access signals
var ocrText = profile.GetValue<string>(ImageSignalKeys.OcrText);
var caption = profile.GetValue<string>(ImageSignalKeys.Caption);
var motion = profile.GetValue<string>(ImageSignalKeys.Motion);

Unified Pipeline Integration

ImagePipeline implements IPipeline interface:

public class ImagePipeline : PipelineBase
{
 public override string PipelineId => "image";
 public override string Name => "Image Pipeline";
 public override IReadOnlySet<string> SupportedExtensions =>
 new[] { ".gif", ".png", ".jpg", ".jpeg", ".webp", ".bmp", ".tiff", ".tif" };

 protected override async Task<IReadOnlyList<ContentChunk>> ProcessCoreAsync(...)
 {
 // Orchestrates 22-wave analysis
 // Returns standardized ContentChunk objects
 }
}

Benefits:

  • Auto-routing by file extension via IPipelineRegistry
  • Standardized ContentChunk output across all pipelines (Document, Image, Data)
  • Unified progress reporting and cancellation
  • XxHash64 content hashing for deduplication

Execution Profiles

services.AddDocSummarizerImages(opt =>
{
 opt.ExecutionProfile = ExecutionProfile.Fast; // ~100ms - basic signals only
 opt.ExecutionProfile = ExecutionProfile.Balanced; // ~500ms - Florence-2 + OCR
 opt.ExecutionProfile = ExecutionProfile.Quality; // ~2-5s - Full pipeline + LLM
});
Profile Waves Executed Speed Use Case
Fast 5-8 waves ~100ms Triage, type detection
Balanced 12-15 waves ~500ms General analysis, screenshots
Quality 20+ waves ~2-5s Complex images, GIFs with motion

22-Wave Signal Catalog

Wave Signals Emitted Purpose
StructureWave dimensions, aspect_ratio, file_size Metadata
ColorWave dominant_colors, brightness, contrast Visual properties
OcrWave ocr.text, ocr.confidence, ocr.word_count Text extraction
MlOcrWave ml_ocr.text, text_regions ML-based text detection
Florence2Wave florence2.caption, florence2.ocr Vision foundation model
VisionLlmWave llm.caption, llm.description LLM escalation
MotionWave motion.intensity, motion.type, motion.direction Optical flow
FaceDetectionWave faces.count, faces.locations Face detection
SceneDetectionWave scene.type, scene.confidence Indoor/outdoor/meme
ClipEmbeddingWave clip.embedding Semantic search vectors
TextDetectionWave text_regions.bbox, text_regions.confidence EAST detection
OcrQualityWave ocr.quality_score, needs_escalation Validation
ContradictionWave contradictions.found, contradictions.details Consistency
AutoRoutingWave routing.decision, routing.reason Pipeline selection
...and 8 more

Filmstrip Optimization

For animated GIFs/WebP with subtitles:

// Automatically enabled when text-only content detected
var profile = await orchestrator.AnalyzeAsync("animation.gif");

// Text-only strip is 30× smaller in tokens
var stripPath = profile.GetValue<string>("filmstrip.text_only_path");

Performance:

  • Before: 10 frames × ~150 tokens each = 1500 tokens, ~27 seconds
  • After: Single strip × ~50 tokens = 50 tokens, ~2-3 seconds

CLI Usage

# Analyze single image
imagesummarizer image.gif

# Process directory
imagesummarizer ./screenshots --output json

# List available pipelines
imagesummarizer --list-pipelines

# MCP server mode (Claude Desktop integration)
imagesummarizer --mcp

Signal-Based Request Pattern

Request only the signals you need:

var orchestrator = new WaveOrchestrator(services);

// Request specific signals
var profile = await orchestrator.AnalyzeAsync(
 "image.png",
 requestedSignals: new[] { "ocr.text", "color.dominant", "motion.*" }
);

// Only relevant waves execute
if (profile.HasSignal("ocr.text"))
{
 var text = profile.GetValue<string>("ocr.text");
}

Content Hashing

All pipelines use XxHash64 for fast, consistent hashing:

// Automatically computed for each chunk
var hash = ContentHasher.ComputeHash(imageContent);

// Used for:
// - Deduplication
// - Cache keys
// - Change detection

Configuration

{
 "ImageAnalysis": {
 "ModelsDirectory": "./models",
 "EnableOcr": true,
 "Ocr": {
 "UseAdvancedPipeline": true,
 "QualityMode": "Fast",
 "ConfidenceThresholdForEarlyExit": 0.95,
 "EnableSpellChecking": true
 },
 "ExecutionProfile": "Balanced"
 }
}

Service Registration

using Mostlylucid.DocSummarizer.Images.Extensions;

services.AddDocSummarizerImages(opt =>
{
 opt.ModelsDirectory = Path.Combine(dataDir, "models");
 opt.EnableOcr = true;
 opt.Ocr.UseAdvancedPipeline = true;
 opt.Ocr.QualityMode = OcrQualityMode.Fast;
 opt.ExecutionProfile = ExecutionProfile.Balanced;
});

// Registers:
// - ImagePipeline (implements IPipeline)
// - WaveOrchestrator
// - All 22 waves
// - Signal database
// - ONNX session factory

Documentation

  • SIGNALS.md - Complete signal catalog with descriptions
  • GIF-MOTION.md - Motion analysis and filmstrip optimization
  • WAVE-COORDINATION.md - Signal-based coordination architecture

Architecture

ImagePipeline (IPipeline)
 └─ WaveOrchestrator
 ├─ ProfiledWaveCoordinator (signal-based execution)
 │ ├─ StructureWave
 │ ├─ ColorWave
 │ ├─ OcrWave
 │ ├─ MlOcrWave
 │ ├─ Florence2Wave
 │ ├─ VisionLlmWave
 │ ├─ MotionWave
 │ ├─ FaceDetectionWave
 │ └─ ...18 more waves
 │
 └─ SignalDatabase (SQLite persistence)

License

MIT - Part of the LucidRAG project

Product Versions Compatible and additional computed target framework versions.
.NET net10.0 net10.0 is compatible.  net10.0-android net10.0-android was computed.  net10.0-browser net10.0-browser was computed.  net10.0-ios net10.0-ios was computed.  net10.0-maccatalyst net10.0-maccatalyst was computed.  net10.0-macos net10.0-macos was computed.  net10.0-tvos net10.0-tvos was computed.  net10.0-windows net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Mostlylucid.LucidRAG.ImageSummarizer:

Package Downloads
Mostlylucid.LucidRAG.VideoSummarizer

Core video analysis pipeline with shot detection, scene segmentation, OCR tracking, and speech transcription

Mostlylucid.LucidRAG.Core

Core business logic for LucidRAG - shared by web, CLI, and API projects

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.7.5 153 3/30/2026
2.7.4 143 3/30/2026
2.7.3 135 3/30/2026
2.7.2 109 3/30/2026
2.7.1 124 3/29/2026
2.7.0 117 3/29/2026
2.6.0 115 3/29/2026
2.5.0-alpha0 124 2/10/2026
2.1.0 131 2/9/2026
2.1.0-preview2 125 2/9/2026
2.0.1-rc0 134 2/9/2026
2.0.0-rc5 102 2/9/2026
2.0.0-alpha2 108 2/9/2026
1.1.1 129 2/4/2026
1.0.0 126 2/4/2026
1.0.0-rc6 129 2/3/2026
1.0.0-rc5 115 2/3/2026