Skip to content

VBVR-DataFactory/G-202_mark_wave_peaks_data-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

G-202: Mark Wave Peaks Data Generator

Generates synthetic tasks where a continuous wave is displayed. The goal is to find all peaks (local maxima) and mark each one with a red circle and dot, from left to right, step by step.

Each sample pairs a task (first frame + prompt describing what needs to happen) with its ground truth solution (final frame showing the result + video demonstrating how to achieve it). This structure enables both model evaluation and training.


📌 Basic Information

Property Value
Task ID G-202
Task Mark Wave Peaks
Category Perception
Resolution 1024×1024 px
FPS 16 fps
Duration ~5 seconds
Output PNG images + MP4 video

🚀 Usage

Installation

# Clone the repository
git clone https://github.com/VBVR-DataFactory/G-202_mark_wave_peaks_data-generator.git
cd G-202_mark_wave_peaks_data-generator

# Install dependencies
pip install -r requirements.txt

Generate Data

# Generate 100 samples
python examples/generate.py --num-samples 100

# Generate with specific seed
python examples/generate.py --num-samples 100 --seed 42

# Generate without videos
python examples/generate.py --num-samples 100 --no-videos

# Custom output directory
python examples/generate.py --num-samples 100 --output data/my_output

Command-Line Options

Argument Type Description Default
--num-samples int Number of samples to generate 100
--seed int Random seed for reproducibility Random
--output str Output directory data/questions
--no-videos flag Skip video generation False

📖 Task Example

Prompt

The scene shows a continuous wave on a white background. Find all peaks (local maxima: each point where the wave value is greater than both immediate neighbors). Circle each peak with a red hollow outline and a solid red dot at its center, from left to right one by one, and show the solution step by step.

Visual

Initial Frame
Continuous wave displayed
Animation
Peaks marked sequentially left-to-right
Final Frame
All peaks marked with circles and dots

📖 Task Description

Objective

Identify all local maxima (peaks) in a continuous wave pattern and mark each one sequentially from left to right.

Task Setup

  • Wave Complexity: 80-180 points defining the continuous curve
  • Amplitude Range: 120-320 pixels vertical variation
  • Frequency Range: 0.01-0.04 controlling wave density
  • Peak Count: 3-10 local maxima per wave
  • Marking Method: Red hollow circle (15px radius) + solid red dot (4px radius) at center
  • Sequential Marking: Peaks marked one by one from left to right

Key Features

  • Local maxima detection: Tests ability to identify points higher than both neighbors
  • Sequential processing: Solution shown step-by-step in left-to-right order
  • Dual marking system: Hollow circle outline plus center dot for clear identification
  • Mathematical reasoning: Requires understanding of local maxima in continuous functions
  • Variable complexity: Number of peaks varies, affecting task difficulty
  • Step-by-step solution: Animation shows each peak being marked individually

📦 Data Format

data/questions/mark_wave_peaks_task/mark_wave_peaks_00000000/
├── first_frame.png      # Initial state (unmarked wave)
├── final_frame.png      # Goal state (all peaks marked)
├── prompt.txt           # Task instructions
├── ground_truth.mp4     # Solution video (16 fps)
└── question_metadata.json # Task metadata

File specifications: Images are 1024×1024 PNG. Videos are MP4 at 16 fps, approximately 5 seconds long.


🏷️ Tags

pattern-recognition spatial-reasoning local-maxima wave-analysis sequential-marking mathematical-reasoning


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages