File size: 1,136 Bytes
e0a6aa0 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | """Create realistic packed-wedge synthetic data when licensed observations are unavailable."""
from __future__ import annotations
import argparse
from pathlib import Path
import numpy as np
import sys
ROOT=Path(__file__).resolve().parents[1];sys.path.insert(0,str(ROOT))
from model.echocast_3d import load_config, make_sample
def main() -> None:
parser = argparse.ArgumentParser()
parser.add_argument("--config", default="conf/config.yaml")
parser.add_argument("--output", default="data")
args = parser.parse_args()
config = load_config(ROOT / args.config)
output = ROOT / args.output
output.mkdir(parents=True, exist_ok=True)
for split, count in (("train", config["data"]["train_samples"]), ("validation", config["data"]["validation_samples"])):
for index in range(count):
sample = make_sample(config, config["seed"] + index + (10000 if split == "validation" else 0))
path = output / f"{split}_{index:04d}.npz"
np.savez(path, **sample)
print(f"wrote {path} ({path.stat().st_size / 1024**2:.2f} MiB)")
if __name__ == "__main__":
main()
|