CLIPlanned

OptixLog CLI Overview

AI-powered research data organization for photonics workflows

OptixLog CLI

AI-powered research data organization for photonics and scientific workflows.

What is OptixLog CLI?

OptixLog CLI is a Rust-based command-line tool that:

  • 🔍 Auto-detects file types - Tidy3D notebooks, MEEP simulations, GDS layouts, CSV data
  • 📊 Extracts knowledge graphs - Simulations, structures, sources, monitors, relationships
  • 🧠 Learns patterns - AI-powered experiment organization
  • 💾 Stores in Neo4j - Graph database with semantic search
  • 💬 AI Assistant - Natural language queries with Claude

Key Features

Intelligent File Parsing

Automatically extracts structured data from:

  • Tidy3D Notebooks (.ipynb) - Simulations, structures, sources, monitors
  • MEEP Simulations (.py) - Geometry, materials, field monitors
  • GDS Layouts (.gds) - Waveguides, rings, couplers with geometric analysis
  • CSV Data (.csv) - Schema detection, statistical profiling, relationships
  • Excel Files (.xlsx, .xls, .ods) - Multi-sheet analysis

Graph-Based Storage

All data stored in Neo4j knowledge graph:

// Find all ring resonators
MATCH (r:PhotonicsNode {type: "ring_resonator"})
RETURN r.properties.radius, r.properties.Q_factor

// Trace file lineage
MATCH path = (result:File)<-[:WAS_DERIVED_FROM*]-(source:File)
WHERE result.name = "final_analysis.csv"
RETURN path

Natural language queries:

optixlog search "ring resonators with Q > 10000"
optixlog chat "show me all simulations from last week"
optixlog similar best_design.gds

Performance

3.6x faster than baseline:

  • ⚡ Batch database operations (100-200x faster)
  • ⚡ Optimized parsing (50% faster CSV, 30% faster MEEP)
  • ⚡ Parallel processing (Rayon + async)
  • ⚡ Streaming for large files (10GB+ CSV support)

Architecture

OptixLog CLI
├─ Parsers (23 specialized)
│  ├─ Tidy3D Notebook Parser
│  ├─ MEEP Parser
│  ├─ GDS Parser (component inference)
│  ├─ CSV Data Engineer (streaming)
│  └─ Excel Parser
├─ Smart Ingestion (4-phase)
│  ├─ Fast Discovery
│  ├─ Photonics Parsing (parallel)
│  ├─ Pattern Learning (ML)
│  └─ Graph Storage (batch)
├─ Search Engine
│  ├─ Semantic Search (embeddings)
│  ├─ Hybrid Fusion
│  └─ Graph Traversal
└─ AI Agent
   ├─ LLM Client (Claude)
   ├─ Tool Calling
   └─ Natural Language Query

Use Cases

Organize Research Data

optixlog add ~/Research/Simulations
# Automatically groups files into experiments
# Learns patterns from your labeling

Find Similar Designs

optixlog similar best_ring.gds
# Finds geometrically similar designs
# Shows parameter comparisons

Parameter Analysis

optixlog params coupling_gap --vs transmission
# Shows correlation plots
# Exports data for further analysis

Build Component Library

optixlog library add verified_coupler.gds \
  --tags "tested,high-efficiency" \
  --metrics "coupling=94%,loss=0.2dB"

Quick Start

# 1. Setup Neo4j
docker run -d --name neo4j -p 7687:7687 \
  -e NEO4J_AUTH=neo4j/password neo4j:latest

# 2. Initialize
optixlog init

# 3. Add data
optixlog add ~/my-research

# 4. Explore
optixlog chat
optixlog search "your query"
optixlog interactive  # REPL mode

Next Steps

On this page