VibecoderMcSwaggins's picture
feat(phase-4): Gradio UI with NiiVue visualization (#5)
d77e99f unverified
raw
history blame
1.22 kB
"""Load ISLES24 data from local directory or HuggingFace Hub."""
from __future__ import annotations
from dataclasses import dataclass
from pathlib import Path
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from stroke_deepisles_demo.data.adapter import LocalDataset
@dataclass
class DatasetInfo:
"""Metadata about the dataset."""
source: str # "local" or HF dataset ID
num_cases: int
modalities: list[str]
has_ground_truth: bool
def load_isles_dataset(
source: str | Path = "data/isles24",
*,
local_mode: bool = True, # Default to local for now
) -> LocalDataset:
"""
Load ISLES24 dataset.
Args:
source: Local directory path or HuggingFace dataset ID
local_mode: If True, treat source as local directory
Returns:
Dataset-like object providing case access
Raises:
NotImplementedError: If non-local mode is requested
"""
if local_mode or isinstance(source, Path):
from stroke_deepisles_demo.data.adapter import build_local_dataset
return build_local_dataset(Path(source))
# Future: return _load_from_huggingface(source)
raise NotImplementedError("HuggingFace mode not yet implemented")