# CHIMERA streaming configuration
aws:
  profile: null              # set via AWS_PROFILE or credentials env vars
  region: null               # set via AWS_REGION if needed

s3:
  bucket: "chimera-challenge"
  task_prefix: "s3://chimera-challenge/v2/task1/"
  manifests:
    train: null              # optional: output of build_manifest.py (s3:// or local)
    val: null
  prefixes:
    clinical: "s3://chimera-challenge/v2/task1/clinical_data/"
    wsi_features: "s3://chimera-challenge/v2/task1/pathology/features/features/"
    wsi_coordinates: "s3://chimera-challenge/v2/task1/pathology/features/coordinates/"
    wsi_images: "s3://chimera-challenge/v2/task1/pathology/images/"
    mri_images: "s3://chimera-challenge/v2/task1/radiology/images/"
    mri_features: "s3://chimera-challenge/v2/task1/radiology/features/"

runtime:
  max_temp_files: 6           # bounded local temp cache for file-based readers
  temp_dir: null              # null = system temp; else provide a path
  use_wsi_features_first: true  # prefer precomputed features if available
  use_mri_features_first: true  # prefer MRI precomputed features if available

modalities:
  use_clinical: true
  use_wsi: true
  use_mri: true

mri:
  feature_type: histogram     # histogram | stats | none
  histogram_bins: 32

wsi:
  aggregator: mean_max        # mean | max | mean_max | attention
  # attention requires training a small MIL head; keep mean_max for simplicity

clinical:
  # If your manifest lacks a 'label' column, specify the JSON key to read
  # from each clinical JSON to derive a binary label (0/1). E.g., "bcr", "BCR",
  # "biochemical_recurrence". Adjust to the actual schema.
  label_key: BCR
