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()