Comp-I / docs /PHASE2B_DATA_TO_IMAGE_GUIDE.md
axrzce's picture
Deploy from GitHub main
338d95d verified
|
raw
history blame
9.07 kB

CompI Phase 2.B: Data/Logic Input to Image Generation

πŸš€ Overview

Phase 2.B transforms structured data and mathematical formulas into stunning AI-generated art. This phase combines data analysis, pattern recognition, and poetic interpretation to create unique visual experiences that reflect the essence of your data.

✨ Key Features

πŸ“Š Data Processing

  • CSV Data Analysis: Upload spreadsheets, time series, measurements, or any numeric data
  • Mathematical Formula Evaluation: Enter Python/NumPy expressions for mathematical art
  • Pattern Recognition: Automatic detection of trends, correlations, and seasonality
  • Statistical Analysis: Comprehensive data profiling and feature extraction

🎨 Artistic Integration

  • Poetic Text Generation: Convert data patterns into descriptive, artistic language
  • Data Visualization: Create beautiful charts and plots from your data
  • Prompt Enhancement: Intelligently merge data insights with your creative prompts
  • Visual Conditioning: Use data visualizations to inspire AI art generation

πŸ”§ Technical Capabilities

  • Safe Formula Execution: Secure evaluation of mathematical expressions
  • Batch Processing: Handle multiple datasets or formulas simultaneously
  • Comprehensive Metadata: Detailed logging of all generation parameters
  • Flexible Output: Save both generated art and data visualizations

πŸ› οΈ Installation & Setup

Prerequisites

Ensure you have the base CompI environment set up with all dependencies from requirements.txt.

Additional Dependencies

Phase 2.B uses the existing CompI dependencies, specifically:

  • pandas>=2.0.0 - Data manipulation and analysis
  • numpy>=1.24.0 - Mathematical operations
  • matplotlib>=3.7.0 - Data visualization
  • seaborn>=0.12.0 - Statistical plotting

🎯 Quick Start

1. Launch the Streamlit Interface

# Navigate to your CompI project directory
cd "C:\Users\Aksharajsinh\Documents\augment-projects\Project CompI"

# Run the Phase 2.B interface
streamlit run src/ui/compi_phase2b_streamlit_ui.py

2. Using CSV Data

  1. Upload your CSV file containing numeric data
  2. Enter your creative prompt (e.g., "A flowing river of data")
  3. Set style and mood (e.g., "abstract digital art", "serene and flowing")
  4. Click Generate and watch your data transform into art!

3. Using Mathematical Formulas

  1. Enter a mathematical formula using Python/NumPy syntax
  2. Combine with your prompt for artistic interpretation
  3. Generate unique mathematical art based on your equations

πŸ“š Examples

CSV Data Examples

Time Series Data

date,temperature,humidity,pressure
2024-01-01,22.5,65,1013.2
2024-01-02,23.1,62,1015.8
2024-01-03,21.8,68,1012.4
...

Prompt: "Weather patterns dancing across the sky" Style: "impressionist painting" Result: Art inspired by temperature fluctuations and atmospheric pressure

Financial Data

date,price,volume,volatility
2024-01-01,100.5,1000000,0.15
2024-01-02,102.3,1200000,0.18
2024-01-03,99.8,900000,0.22
...

Prompt: "The rhythm of market forces" Style: "geometric abstract" Result: Visual representation of market dynamics

Mathematical Formula Examples

Sine Wave with Decay

np.sin(np.linspace(0, 4*np.pi, 100)) * np.exp(-np.linspace(0, 1, 100))

Prompt: "Fading echoes in a digital realm" Result: Art representing diminishing oscillations

Spiral Pattern

t = np.linspace(0, 4*np.pi, 200)
np.sin(t) * t

Prompt: "The golden ratio in nature" Result: Spiral-inspired organic art

Complex Harmonic

x = np.linspace(0, 6*np.pi, 300)
np.sin(x) + 0.5*np.cos(3*x) + 0.25*np.sin(5*x)

Prompt: "Musical harmonies visualized" Result: Multi-layered wave patterns

🎨 Creative Workflow

1. Data Preparation

  • Clean your data: Remove or handle missing values
  • Choose meaningful columns: Focus on numeric data that tells a story
  • Consider time series: Temporal data often creates compelling patterns

2. Prompt Engineering

  • Start with your data story: What does your data represent?
  • Add artistic style: Choose styles that complement your data's nature
  • Set the mood: Match the emotional tone to your data's characteristics

3. Style Recommendations

Data Type Recommended Styles Mood Suggestions
Time Series flowing, organic, wave-like rhythmic, temporal, evolving
Statistical geometric, structured, minimal analytical, precise, clean
Financial dynamic, angular, sharp energetic, volatile, intense
Scientific technical, detailed, precise methodical, systematic, clear
Random/Chaotic abstract, expressionist, wild unpredictable, chaotic, free

πŸ”§ Advanced Usage

Programmatic Access

from src.generators.compi_phase2b_data_to_image import CompIPhase2BDataToImage

# Initialize generator
generator = CompIPhase2BDataToImage()

# Generate from CSV
results = generator.generate_image(
    text_prompt="Data flowing like water",
    style="fluid abstract",
    mood="serene, continuous",
    csv_path="path/to/your/data.csv",
    num_images=2
)

# Generate from formula
results = generator.generate_image(
    text_prompt="Mathematical harmony",
    style="geometric precision",
    mood="balanced, rhythmic",
    formula="np.sin(np.linspace(0, 4*np.pi, 100))",
    num_images=1
)

Batch Processing

# Process multiple CSV files
results = generator.batch_process_csv_files(
    csv_directory="data/experiments/",
    text_prompt="Scientific visualization",
    style="technical illustration",
    mood="precise, analytical"
)

# Process multiple formulas
formulas = [
    "np.sin(x)",
    "np.cos(x)",
    "np.tan(x/2)"
]
results = generator.batch_process_formulas(
    formulas=formulas,
    text_prompt="Trigonometric art",
    style="mathematical beauty"
)

πŸ“Š Understanding Data Features

Phase 2.B analyzes your data and extracts several key features:

Statistical Features

  • Means, Medians, Standard Deviations: Basic statistical measures
  • Ranges and Distributions: Data spread and shape
  • Trends: Increasing, decreasing, stable, or volatile patterns

Pattern Features

  • Correlations: Relationships between different data columns
  • Seasonality: Repeating patterns in time series data
  • Complexity Score: Measure of data intricacy (0-1)
  • Variability Score: Measure of data diversity (0-1)
  • Pattern Strength: Measure of detectable patterns (0-1)

Poetic Interpretation

The system converts these features into artistic language:

  • Trend descriptions: "ascending", "flowing", "turbulent"
  • Pattern adjectives: "intricate", "harmonious", "dynamic"
  • Artistic metaphors: "like brushstrokes on canvas", "dancing with precision"

🎯 Tips for Best Results

Data Tips

  1. Quality over quantity: Clean, meaningful data works better than large messy datasets
  2. Numeric focus: Ensure your CSV has numeric columns for analysis
  3. Reasonable size: Keep datasets under 10,000 rows for faster processing
  4. Meaningful names: Use descriptive column names for better interpretation

Formula Tips

  1. Use NumPy functions: Leverage np.sin, np.cos, np.exp, etc.
  2. Define ranges: Use np.linspace() to create smooth curves
  3. Experiment with complexity: Combine multiple functions for richer patterns
  4. Consider scale: Ensure your formula produces reasonable numeric ranges

Prompt Tips

  1. Be descriptive: Rich prompts lead to more interesting results
  2. Match your data: Align artistic style with data characteristics
  3. Experiment: Try different style/mood combinations
  4. Use the preview: Check the enhanced prompt before generating

πŸ” Troubleshooting

Common Issues

"Error analyzing data"

  • Check that your CSV has numeric columns
  • Ensure the file is properly formatted
  • Try with a smaller dataset first

"Invalid formula"

  • Use only safe mathematical functions
  • Check your NumPy syntax
  • Ensure parentheses are balanced

"Generation failed"

  • Check your GPU memory if using CUDA
  • Try reducing the number of inference steps
  • Ensure your prompt isn't too long

Performance Optimization

  • Use GPU acceleration when available
  • Reduce image dimensions for faster generation
  • Process smaller datasets for quicker analysis
  • Use fewer inference steps for rapid prototyping

πŸš€ Next Steps

After mastering Phase 2.B, consider:

  1. Combining with Phase 2.A: Use audio + data for multimodal art
  2. Creating data stories: Build narratives around your visualizations
  3. Exploring advanced formulas: Try complex mathematical expressions
  4. Building datasets: Create custom data for specific artistic goals

Ready to transform your data into art? Launch the Streamlit interface and start creating! πŸŽ¨πŸ“Šβœ¨