# Data Model: ResNet Phenology Classifier

**Date**: 2025-11-04
**Feature**: specs/1-phenology-classifier/spec.md

## Entities

### Plant Image
**Description**: Represents an image of a plant used for training or inference.

**Fields**:
- `path` (string): File path to the image (required)
- `phase` (string): Phenological phase label (required)
- `width` (int): Image width in pixels
- `height` (int): Image height in pixels

**Validation Rules**:
- Path must exist and be readable image file
- Phase must be one of the defined classes in CSV
- Image dimensions must be at least 224x224 for ResNet input

### Phenological Phase
**Description**: Represents a growth stage classification for plants.

**Fields**:
- `name` (string): Phase identifier (e.g., "vegetative", "flowering") (required)
- `description` (string): Human-readable description of the phase
- `index` (int): Numerical index for model output (0-based)

**Validation Rules**:
- Name must be unique
- Index must be sequential starting from 0

## Relationships

- Plant Image belongs to Phenological Phase (many-to-one)
- Phases are defined in the labels CSV file

## State Transitions

N/A - Static classification task