Spaces:
Runtime error
Runtime error
initial commit
Browse files- app.py +142 -0
- dataset.py +52 -0
- downloader.py +237 -0
- scenarios.checksum +360 -0
app.py
ADDED
@@ -0,0 +1,142 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# https://huggingface.co/St0nedB/deepest-public
|
2 |
+
import os
|
3 |
+
import numpy as np
|
4 |
+
import logging
|
5 |
+
import gradio as gr
|
6 |
+
import subprocess
|
7 |
+
import sys
|
8 |
+
import matplotlib
|
9 |
+
import matplotlib.pyplot as plt
|
10 |
+
from dataset import UAVDataset
|
11 |
+
logger = logging.basicConfig(level=logging.ERROR)
|
12 |
+
matplotlib.use("agg")
|
13 |
+
|
14 |
+
MARKER_STYLE = dict(
|
15 |
+
linestyle="none",
|
16 |
+
markersize=15,
|
17 |
+
marker="o",
|
18 |
+
fillstyle="none",
|
19 |
+
markeredgewidth=2,
|
20 |
+
color="none",
|
21 |
+
markerfacecolor="none",
|
22 |
+
markerfacecoloralt="none",
|
23 |
+
markeredgecolor="white",
|
24 |
+
)
|
25 |
+
|
26 |
+
SCENARIO = "1to2_H15_V11"
|
27 |
+
RXS = ["VGH0", "VGH1", "VGH2"]
|
28 |
+
DATASETS = []
|
29 |
+
CHANNELS = []
|
30 |
+
GROUNDTRUTHS = []
|
31 |
+
SLOWTIME_WINDOW = 100
|
32 |
+
NUM_WINDOWS = 0
|
33 |
+
|
34 |
+
|
35 |
+
def get_channel(x: np.ndarray, start_idx: int, window_slowtime: int, filter_clutter: bool=False, upsample: int = 1) -> np.ndarray:
|
36 |
+
if start_idx > x.shape[0] - window_slowtime:
|
37 |
+
raise ValueError(
|
38 |
+
"Start index must be smaller than the number of slowtime samples minus the window size.")
|
39 |
+
|
40 |
+
x = x[start_idx:start_idx+window_slowtime+1, :]
|
41 |
+
if filter_clutter:
|
42 |
+
x = np.diff(x, n=1, axis=0)
|
43 |
+
|
44 |
+
t_n, f_n = x.shape
|
45 |
+
y = np.fft.fft(np.fft.ifft(x, n=f_n*upsample, axis=1), n=t_n*upsample, axis=0)
|
46 |
+
y /= np.linalg.norm(y)
|
47 |
+
y = np.fft.fftshift(y, axes=0)
|
48 |
+
y = y[:, :80*upsample]
|
49 |
+
|
50 |
+
return y
|
51 |
+
|
52 |
+
def get_groundtruth(x: np.ndarray, start_idx: int, window_slowtime: int):
|
53 |
+
if start_idx > x.shape[0] - window_slowtime:
|
54 |
+
raise ValueError(
|
55 |
+
"Start index must be smaller than the number of slowtime samples minus the window size.")
|
56 |
+
|
57 |
+
delay = x[start_idx+window_slowtime//2, 0]
|
58 |
+
doppler = x[start_idx+window_slowtime//2, 1]
|
59 |
+
|
60 |
+
return np.array([delay, doppler])
|
61 |
+
|
62 |
+
def get_data(channel: np.ndarray, groundtruth: np.ndarray, window_slowtime: int, start_idx: int):
|
63 |
+
channel = get_channel(channel, start_idx, window_slowtime, filter_clutter=True, upsample=2)
|
64 |
+
groundtruth = get_groundtruth(groundtruth, start_idx, window_slowtime)
|
65 |
+
return channel, groundtruth
|
66 |
+
|
67 |
+
def update_fig(channel: np.ndarray, groundtruth: np.ndarray):
|
68 |
+
plt.close()
|
69 |
+
fig = plt.figure()
|
70 |
+
plt.imshow(20*np.log10(np.abs(channel)), aspect="auto",
|
71 |
+
cmap="inferno", vmin=-70, vmax=0, extent=[0, 1e-6, +1/(2*320e-6), -1/(2*320e-6)])
|
72 |
+
plt.plot(groundtruth[0], groundtruth[1], **MARKER_STYLE)
|
73 |
+
plt.xlabel("Delay [$\mu s$]")
|
74 |
+
plt.ylabel("Doppler-Shift [Hz]")
|
75 |
+
return fig
|
76 |
+
|
77 |
+
def update(channel: np.ndarray, groundtruth: np.ndarray, window_slowtime: int, start_idx: int):
|
78 |
+
channel_window, groundtruth_window = get_data(
|
79 |
+
channel, groundtruth, window_slowtime, int(start_idx))
|
80 |
+
|
81 |
+
fig = update_fig(channel_window, groundtruth_window)
|
82 |
+
return fig
|
83 |
+
|
84 |
+
def update_all(start_idx: int):
|
85 |
+
figs = []
|
86 |
+
for cc, gg in zip(CHANNELS, GROUNDTRUTHS):
|
87 |
+
fig = update(cc, gg, SLOWTIME_WINDOW, start_idx*SLOWTIME_WINDOW)
|
88 |
+
figs.append(fig)
|
89 |
+
|
90 |
+
return figs
|
91 |
+
|
92 |
+
|
93 |
+
def demo():
|
94 |
+
with gr.Blocks() as demo:
|
95 |
+
gr.Markdown(
|
96 |
+
"Demo for the [ISAC-UAV-Dataset](https://github.com/EMS-TU-Ilmenau/isac-uav-dataset)"
|
97 |
+
)
|
98 |
+
|
99 |
+
with gr.Row():
|
100 |
+
vgh0 = gr.Plot(update_all(1)[0], label="VGH0")
|
101 |
+
vgh1 = gr.Plot(update_all(1)[1], label="VGH1")
|
102 |
+
vgh2 = gr.Plot(update_all(1)[2], label="VGH2")
|
103 |
+
|
104 |
+
|
105 |
+
with gr.Row():
|
106 |
+
slider = gr.Slider(1, NUM_WINDOWS, 1, step=1, label="Slowtime Window", queue=True, every=1)
|
107 |
+
|
108 |
+
# update callbacks
|
109 |
+
slider.input(update_all, [slider], [vgh0, vgh1, vgh2], show_progress="minimal")
|
110 |
+
|
111 |
+
demo.launch()
|
112 |
+
|
113 |
+
def prepare_data():
|
114 |
+
files_exist = [os.path.exists(f"{SCENARIO}_{rx}_channel.h5") for rx in RXS]
|
115 |
+
if all(files_exist):
|
116 |
+
return
|
117 |
+
|
118 |
+
subprocess.check_call([sys.executable, "downloader.py", "--scenario", SCENARIO])
|
119 |
+
return
|
120 |
+
|
121 |
+
def update_globals():
|
122 |
+
global DATASETS, CHANNELS, GROUNDTRUTHS, NUM_WINDOWS
|
123 |
+
DATASETS = [
|
124 |
+
UAVDataset(
|
125 |
+
f"{SCENARIO}_{rx}_channel.h5",
|
126 |
+
f"{SCENARIO}_{rx}_target.h5",
|
127 |
+
) for rx in RXS
|
128 |
+
]
|
129 |
+
CHANNELS = [d.channel for d in DATASETS]
|
130 |
+
GROUNDTRUTHS = [d.groundtruth for d in DATASETS]
|
131 |
+
NUM_WINDOWS = (len(DATASETS[0]) - SLOWTIME_WINDOW) // SLOWTIME_WINDOW
|
132 |
+
return
|
133 |
+
|
134 |
+
|
135 |
+
def main():
|
136 |
+
prepare_data()
|
137 |
+
update_globals()
|
138 |
+
demo()
|
139 |
+
|
140 |
+
|
141 |
+
if __name__ == "__main__":
|
142 |
+
main()
|
dataset.py
ADDED
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from dataclasses import dataclass, field
|
2 |
+
import h5py
|
3 |
+
import numpy as np
|
4 |
+
|
5 |
+
H5_CDATA = "Channel/FrequencyResponses/Data"
|
6 |
+
H5_TARGET_DELAY = "TargetParameters/Delay/Data"
|
7 |
+
H5_TARGET_DOPPLER = "TargetParameters/Doppler/Data"
|
8 |
+
H5_TXANTENNA = "AntennaPositions/PositionTx/Data"
|
9 |
+
H5_RXANTENNA = "AntennaPositions/PositionRx/Data"
|
10 |
+
H5_UAVPOSITIONS = "Positions/Data"
|
11 |
+
|
12 |
+
@dataclass
|
13 |
+
class UAVDataset:
|
14 |
+
channelfile: str
|
15 |
+
"""The path to the channel file"""
|
16 |
+
targetfile: str = None
|
17 |
+
"""The path to the target file"""
|
18 |
+
channel: np.ndarray = field(init=False)
|
19 |
+
"""Property to store the channel data as a numpy array"""
|
20 |
+
groundtruth: np.ndarray = field(init=False)
|
21 |
+
"""Property to store the delay and Doppler groundtruth of the UAV as a numpy array"""
|
22 |
+
tx: np.ndarray = field(init=False)
|
23 |
+
"""Property to store the transmitter antenna positions as a numpy array"""
|
24 |
+
rx: np.ndarray = field(init=False)
|
25 |
+
"""Property to store the receiver antenna positions as a numpy array"""
|
26 |
+
uav: np.ndarray = field(init=False)
|
27 |
+
"""Property to store the UAV positions as a numpy array"""
|
28 |
+
|
29 |
+
def __post_init__(self) -> None:
|
30 |
+
# load channel, positions
|
31 |
+
h5_channel = h5py.File(self.channelfile, "r")
|
32 |
+
self.channel = np.array(h5_channel[H5_CDATA]).view(
|
33 |
+
np.complex64).squeeze()
|
34 |
+
self.groundtruth = np.concatenate(
|
35 |
+
(
|
36 |
+
np.array(h5_channel[H5_TARGET_DELAY]),
|
37 |
+
np.array(h5_channel[H5_TARGET_DOPPLER]),
|
38 |
+
),
|
39 |
+
axis=1,
|
40 |
+
)
|
41 |
+
self.tx = np.array(h5_channel[H5_TXANTENNA]).view(np.float64).squeeze()
|
42 |
+
self.rx = np.array(h5_channel[H5_RXANTENNA]).view(np.float64).squeeze()
|
43 |
+
|
44 |
+
if self.targetfile is not None:
|
45 |
+
h5_target = h5py.File(self.targetfile, "r")
|
46 |
+
self.uav = np.array(h5_target[H5_UAVPOSITIONS]).view(
|
47 |
+
np.float64).squeeze()
|
48 |
+
|
49 |
+
return
|
50 |
+
|
51 |
+
def __len__(self) -> int:
|
52 |
+
return self.channel.shape[0]
|
downloader.py
ADDED
@@ -0,0 +1,237 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#!/usr/bin/env python3
|
2 |
+
"""Downloader for the Dataset files.
|
3 |
+
|
4 |
+
This script is used to download the actual dataset files, which are stored on a different server to keep the repository clean.
|
5 |
+
After being invoked, the script will perform the following tasks:
|
6 |
+
- download the specified scenarios
|
7 |
+
- decrypt the scenarios
|
8 |
+
- unpack the archive
|
9 |
+
- check the resulting file matches with the one specified in the repo (by comparing SHA256 hashes)
|
10 |
+
|
11 |
+
If a file was already downloaded, the script will not download it again, unless specified otherwise with the `--overwrite` argument (the same holds true for decryption and unpacking).
|
12 |
+
Call the script with `--help` to get a print of all supported arguments.
|
13 |
+
For most use-cases, running
|
14 |
+
```bash
|
15 |
+
python downloader.py
|
16 |
+
```
|
17 |
+
is sufficient.
|
18 |
+
|
19 |
+
"""
|
20 |
+
import argparse
|
21 |
+
import os
|
22 |
+
import subprocess
|
23 |
+
import logging
|
24 |
+
from getpass import getpass
|
25 |
+
from hashlib import sha256
|
26 |
+
import tarfile
|
27 |
+
import urllib.request
|
28 |
+
from tqdm.auto import tqdm
|
29 |
+
|
30 |
+
__author__ = "[email protected], FG EMS"
|
31 |
+
__credits__ = "Carsten Smeenk, Zhixiang Zhao"
|
32 |
+
__version__ = "0.5"
|
33 |
+
__license__ = "CC-BY-SA-4.0"
|
34 |
+
__maintainer__ = "Steffen Schieler"
|
35 |
+
__email__ = "[email protected]"
|
36 |
+
__status__ = "Development"
|
37 |
+
|
38 |
+
SERVER = "https://resdata.tu-ilmenau.de"
|
39 |
+
DIR = "/public/ei/ems/isac-uav-dataset/"
|
40 |
+
SHASUM_FILE = "scenarios.checksum"
|
41 |
+
|
42 |
+
RXS = ["VGH0", "VGH1", "VGH2"]
|
43 |
+
|
44 |
+
class CustomFormatter(logging.Formatter):
|
45 |
+
grey = "\x1b[38;20m"
|
46 |
+
yellow = "\x1b[33;20m"
|
47 |
+
red = "\x1b[31;20m"
|
48 |
+
bold_red = "\x1b[31;1m"
|
49 |
+
reset = "\x1b[0m"
|
50 |
+
format = "%(asctime)s - %(name)s - %(levelname)s - %(message)s (%(filename)s:%(lineno)d)"
|
51 |
+
|
52 |
+
FORMATS = {
|
53 |
+
logging.DEBUG: grey + format + reset,
|
54 |
+
logging.INFO: grey + format + reset,
|
55 |
+
logging.WARNING: yellow + format + reset,
|
56 |
+
logging.ERROR: red + format + reset,
|
57 |
+
logging.CRITICAL: bold_red + format + reset
|
58 |
+
}
|
59 |
+
|
60 |
+
def format(self, record):
|
61 |
+
log_fmt = self.FORMATS.get(record.levelno)
|
62 |
+
formatter = logging.Formatter(log_fmt)
|
63 |
+
return formatter.format(record)
|
64 |
+
|
65 |
+
|
66 |
+
class Downloader:
|
67 |
+
@classmethod
|
68 |
+
def download(cls, url: str, out_file: str):
|
69 |
+
if not cls._download_file_from_server(url, out_file=out_file):
|
70 |
+
raise Exception(f"Failed to download file { url } from server.")
|
71 |
+
|
72 |
+
return
|
73 |
+
|
74 |
+
@classmethod
|
75 |
+
def _download_file_from_server(cls, url: str, out_file: str) -> bool:
|
76 |
+
class DownloadProgressBar(tqdm):
|
77 |
+
def update_to(self, b=1, bsize=1, tsize=None):
|
78 |
+
if tsize is not None:
|
79 |
+
self.total = tsize
|
80 |
+
self.update(b * bsize - self.n)
|
81 |
+
|
82 |
+
with DownloadProgressBar(unit='B', unit_scale=True, miniters=1, desc=url.split('/')[-1]) as t:
|
83 |
+
urllib.request.urlretrieve(url, filename=out_file, reporthook=t.update_to)
|
84 |
+
|
85 |
+
return True
|
86 |
+
|
87 |
+
def add_rx_to_scenarios(scenarios: list) -> list:
|
88 |
+
allrx = []
|
89 |
+
for scenario in scenarios:
|
90 |
+
allrx.extend([f"{scenario}_{rx}" for rx in RXS])
|
91 |
+
|
92 |
+
return allrx
|
93 |
+
|
94 |
+
def decrypt_file(in_file: str, password: str, out_file: str = None) -> bool:
|
95 |
+
if out_file is None:
|
96 |
+
out_file = in_file.split(".encrypted")[0]
|
97 |
+
|
98 |
+
logger.info(f"Decrypting downloaded file {in_file} as {out_file}.")
|
99 |
+
proc = subprocess.run(["openssl", "enc", "-d", "-aes256", "-pbkdf2", "-pass", f"pass:{password}", "-in", in_file, "-out", out_file])
|
100 |
+
|
101 |
+
return not(bool(proc.returncode))
|
102 |
+
|
103 |
+
def unpack_file(archive: str, out_dir: str, file_to_unpack: str) -> bool:
|
104 |
+
logger.info(f"Unpacking file { file_to_unpack } from archive { archive } to { out_dir }.")
|
105 |
+
with tarfile.open(archive, mode="r") as tf:
|
106 |
+
tf.extract(member=file_to_unpack, path=out_dir)
|
107 |
+
|
108 |
+
return
|
109 |
+
|
110 |
+
def check_shasum(shasum: dict, h5_file: str, dir: str) -> bool:
|
111 |
+
logger.info(f"Checking Shasum-256 using Repos `*.checksum` files to verify downloaded Scenario { h5_file }.")
|
112 |
+
hash_func = sha256()
|
113 |
+
with open(h5_file, "rb") as f:
|
114 |
+
for chunk in iter(lambda: f.read(2**23), b""):
|
115 |
+
hash_func.update(chunk)
|
116 |
+
|
117 |
+
hash = hash_func.hexdigest()
|
118 |
+
if shasum != hash:
|
119 |
+
logger.warning(f"The shasums of the downloaded file and in the Gitlab did not match!")
|
120 |
+
return False
|
121 |
+
|
122 |
+
logger.info(f"Shasum-256 of {h5_file} and Shasum-256 in Git repository matched!")
|
123 |
+
return True
|
124 |
+
|
125 |
+
def create_download_dir(dir: str) -> None:
|
126 |
+
try:
|
127 |
+
os.mkdir(dir)
|
128 |
+
logger.info(f"Temporary download directory created in `{ dir }`.")
|
129 |
+
except FileExistsError:
|
130 |
+
logger.info(f"Temporary download directory already exists.")
|
131 |
+
|
132 |
+
return
|
133 |
+
|
134 |
+
def load_shasum_dict(shasum_file: str) -> dict:
|
135 |
+
shasums = {}
|
136 |
+
with open(shasum_file) as file:
|
137 |
+
lines = file.readlines()
|
138 |
+
lines = [line.rstrip() for line in lines]
|
139 |
+
for line in lines:
|
140 |
+
value, key = line.split(" ")
|
141 |
+
shasums[key] = value
|
142 |
+
|
143 |
+
return shasums
|
144 |
+
|
145 |
+
def main(args, checksums):
|
146 |
+
repo_dir = args.output_dir
|
147 |
+
tmp_dir = os.path.join(repo_dir, ".tmp")
|
148 |
+
create_download_dir(tmp_dir)
|
149 |
+
password = os.environ["DATA_PASSWORD"]
|
150 |
+
|
151 |
+
for scenario in args.scenario:
|
152 |
+
url = f"{SERVER}{DIR}{scenario}.tar.bz2.encrypted"
|
153 |
+
encrypted_file = os.path.join(tmp_dir ,f"{ scenario }.tar.bz2.encrypted")
|
154 |
+
decrypted_file = os.path.join(tmp_dir, f"{ scenario }.tar.bz2")
|
155 |
+
h5_filenames = [f"{ scenario }_{ type }.h5" for type in ["channel", "target"]]
|
156 |
+
shasums = [checksums[x] for x in h5_filenames]
|
157 |
+
|
158 |
+
if not os.path.exists(encrypted_file) or args.overwrite:
|
159 |
+
Downloader.download(url, out_file=encrypted_file)
|
160 |
+
else:
|
161 |
+
logger.info("Reusing previously downloaded file.")
|
162 |
+
|
163 |
+
# decrypt file in tmpdir
|
164 |
+
if not os.path.exists(decrypted_file):
|
165 |
+
if not decrypt_file(in_file=encrypted_file, password=password, out_file=decrypted_file):
|
166 |
+
raise Exception(f"Failed to decrypt file. Did you enter the correct password?")
|
167 |
+
|
168 |
+
# unpack file from tmpdir to repodir
|
169 |
+
for h5_file in h5_filenames:
|
170 |
+
if not os.path.exists(os.path.join(repo_dir, h5_file)):
|
171 |
+
unpack_file(archive=decrypted_file, out_dir=repo_dir, file_to_unpack=h5_file)
|
172 |
+
|
173 |
+
# check shasum of file with *.checksum file from repo
|
174 |
+
for shasum, h5_file in zip(shasums, h5_filenames):
|
175 |
+
check_shasum(shasum, h5_file, repo_dir)
|
176 |
+
|
177 |
+
if not args.no_cleanup:
|
178 |
+
os.remove(encrypted_file)
|
179 |
+
os.remove(decrypted_file)
|
180 |
+
|
181 |
+
logger.info("All done. Exiting.")
|
182 |
+
|
183 |
+
if __name__ == "__main__":
|
184 |
+
parser = argparse.ArgumentParser(
|
185 |
+
description="Downloader for the Measurement files."
|
186 |
+
)
|
187 |
+
parser.add_argument(
|
188 |
+
"-s",
|
189 |
+
"--scenario",
|
190 |
+
help=f"The list of scenarios to download, separated by spaces. If none is given, all scenarios are downloaded.",
|
191 |
+
nargs="+",
|
192 |
+
)
|
193 |
+
parser.add_argument(
|
194 |
+
"--output-dir",
|
195 |
+
help="Specify the output directory for the downloaded files. Default is the current working directory.",
|
196 |
+
default=os.getcwd(),
|
197 |
+
)
|
198 |
+
parser.add_argument(
|
199 |
+
"--shasum-file",
|
200 |
+
help="Path to the `scenarios.checksum` file. Defaults to `$cwd/scenarios.checksum`.",
|
201 |
+
default=os.path.join(os.getcwd(), "scenarios.checksum"),
|
202 |
+
)
|
203 |
+
parser.add_argument(
|
204 |
+
"-nc",
|
205 |
+
"--no-cleanup",
|
206 |
+
help="Do not delete temporary download files after succesful decryption and unpacking.",
|
207 |
+
action="store_true",
|
208 |
+
)
|
209 |
+
parser.add_argument(
|
210 |
+
"-o",
|
211 |
+
"--overwrite",
|
212 |
+
help="Re-download and overwrite previously downloaded files",
|
213 |
+
action="store_true",
|
214 |
+
)
|
215 |
+
|
216 |
+
logger = logging.getLogger("Data-Downloader")
|
217 |
+
logger.setLevel(logging.INFO)
|
218 |
+
ch = logging.StreamHandler()
|
219 |
+
ch.setLevel(logging.DEBUG)
|
220 |
+
ch.setFormatter(CustomFormatter())
|
221 |
+
args = parser.parse_args()
|
222 |
+
|
223 |
+
# create console handler with a higher log level
|
224 |
+
logger.addHandler(ch)
|
225 |
+
|
226 |
+
if not os.path.exists(args.shasum_file):
|
227 |
+
raise FileNotFoundError(f"No shasum file found at path {args.shasum_file}. Use `--shasum-file` to specify a correct path.")
|
228 |
+
|
229 |
+
shasums = load_shasum_dict(args.shasum_file)
|
230 |
+
all_scenarios = [ x.split("_channel.h5")[0] for x in shasums.keys() if "_channel.h5" in x]
|
231 |
+
|
232 |
+
if args.scenario is None:
|
233 |
+
args.scenario = all_scenarios
|
234 |
+
else:
|
235 |
+
args.scenario = add_rx_to_scenarios(args.scenario)
|
236 |
+
|
237 |
+
main(args, shasums)
|
scenarios.checksum
ADDED
@@ -0,0 +1,360 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
216b5ab9fb4371b565d824552557b147474cc8dfbc38ffb8c3ccc4b4f8c57181 0to1_H15_V5_VGH0_channel.h5
|
2 |
+
067e0738af4bab39c21411996c8447b994882dfd634bf21ac6acc4fc3511cae7 0to1_H15_V5_VGH0_target.h5
|
3 |
+
6ce9e741097d657a30ff208b92503a6e811c3061422dff31d8a4456216c20c7a 0to1_H15_V5_VGH1_channel.h5
|
4 |
+
067e0738af4bab39c21411996c8447b994882dfd634bf21ac6acc4fc3511cae7 0to1_H15_V5_VGH1_target.h5
|
5 |
+
ddc8de34c4b2c9ad93451d95cd4e49b55db1a90252d56b7e8bd3c7530ac687ea 0to1_H15_V5_VGH2_channel.h5
|
6 |
+
067e0738af4bab39c21411996c8447b994882dfd634bf21ac6acc4fc3511cae7 0to1_H15_V5_VGH2_target.h5
|
7 |
+
efbae6e45ad46f11c8d7ab6270a128eaa7681e6707c692543aabebe8318b6d71 0to9_H15_V5_VGH0_channel.h5
|
8 |
+
c2ab456d95456d53abfaf33da5af1ffe65dbd781d284f88630c761188dae9442 0to9_H15_V5_VGH0_target.h5
|
9 |
+
1ceb85d43e12a2885731bc90f3c3981ea86e12a73cceef78dbff6c1b1afd6874 0to9_H15_V5_VGH1_channel.h5
|
10 |
+
c2ab456d95456d53abfaf33da5af1ffe65dbd781d284f88630c761188dae9442 0to9_H15_V5_VGH1_target.h5
|
11 |
+
5047f9550f7eb0789c03e22b2842d8de6db75c96c0ff5ca93b458fb877620820 0to9_H15_V5_VGH2_channel.h5
|
12 |
+
c2ab456d95456d53abfaf33da5af1ffe65dbd781d284f88630c761188dae9442 0to9_H15_V5_VGH2_target.h5
|
13 |
+
9800999aa5fe2fddb32e1a1764f95e2dc407ef81c3d8fce4769c8d821b288335 1to0_H30_V11_VGH0_channel.h5
|
14 |
+
6bd453e98dd0ab5e8b7004566600ebd970580758d181d0d1091d9337d4e5572a 1to0_H30_V11_VGH0_target.h5
|
15 |
+
a7abffd6985b68ab72f5ee72e2e3d0fa4c954b09f46f04e29e2af85e6a939c10 1to0_H30_V11_VGH1_channel.h5
|
16 |
+
6bd453e98dd0ab5e8b7004566600ebd970580758d181d0d1091d9337d4e5572a 1to0_H30_V11_VGH1_target.h5
|
17 |
+
0b02fd8433650170aa05f9f38bef43682b69c165e1f5a0fe95bd56b5e51a30c1 1to0_H30_V11_VGH2_channel.h5
|
18 |
+
6bd453e98dd0ab5e8b7004566600ebd970580758d181d0d1091d9337d4e5572a 1to0_H30_V11_VGH2_target.h5
|
19 |
+
56dabd8f9aa2b81018031c0cebdc84d86de4957c7ea1eff2b4ef4e59b0f2cf27 1to2_H15_V11_VGH0_channel.h5
|
20 |
+
92f5b93da166e5aebaa2b30459ca8638efa416fe7d7ebf6d93df8cc8eac41bfe 1to2_H15_V11_VGH0_target.h5
|
21 |
+
8cb0baa04699e4e9a8da36e10196e2f56daf4855740f0b3d5b9ecd3d834fd8c8 1to2_H15_V11_VGH1_channel.h5
|
22 |
+
92f5b93da166e5aebaa2b30459ca8638efa416fe7d7ebf6d93df8cc8eac41bfe 1to2_H15_V11_VGH1_target.h5
|
23 |
+
363c326ecdca2aa44507c9082a04531f6663614326f8e3b685e3f38a206e8ac2 1to2_H15_V11_VGH2_channel.h5
|
24 |
+
92f5b93da166e5aebaa2b30459ca8638efa416fe7d7ebf6d93df8cc8eac41bfe 1to2_H15_V11_VGH2_target.h5
|
25 |
+
032627be058156e55656ebf982d2e5b646bdac8ae8bd35c040fd6baf0b5d5012 1to2_H15_V5_VGH0_channel.h5
|
26 |
+
95384204614e1aabdcc3abf9a81e21f33def6246844d35ef0954025385191ec7 1to2_H15_V5_VGH0_target.h5
|
27 |
+
909efa740a61b7bd741f3ae37e8daade0bc9e2cfb29f483ecb8fc4a8f6c5ed38 1to2_H15_V5_VGH1_channel.h5
|
28 |
+
95384204614e1aabdcc3abf9a81e21f33def6246844d35ef0954025385191ec7 1to2_H15_V5_VGH1_target.h5
|
29 |
+
9d14ff8f83b5cc5bcc37b541845e1b4031669d32e6c7e332070872698f365467 1to2_H15_V5_VGH2_channel.h5
|
30 |
+
95384204614e1aabdcc3abf9a81e21f33def6246844d35ef0954025385191ec7 1to2_H15_V5_VGH2_target.h5
|
31 |
+
ebcae468f3ebe5b9caeebe1129b34ed3a4a70520867b36661ed5c12991369aac 1to2_H30_V11_VGH0_channel.h5
|
32 |
+
463d95368dea11e965d04674b9a4b3ad8c41994e90ceeef8cf5bd5d697c87cce 1to2_H30_V11_VGH0_target.h5
|
33 |
+
e93f2926b725bad89f640892be513a96d0c8b1f3b5c9568b80ea9412f6493375 1to2_H30_V11_VGH1_channel.h5
|
34 |
+
463d95368dea11e965d04674b9a4b3ad8c41994e90ceeef8cf5bd5d697c87cce 1to2_H30_V11_VGH1_target.h5
|
35 |
+
8af2f1baa22c51d2cd4ebe62267468453a7642d8d0052fe58551dd4ead5968bd 1to2_H30_V11_VGH2_channel.h5
|
36 |
+
463d95368dea11e965d04674b9a4b3ad8c41994e90ceeef8cf5bd5d697c87cce 1to2_H30_V11_VGH2_target.h5
|
37 |
+
d3458d2415f6aa2816c7d78c5a39acd781033bb55ef24acbb5940c8e4a8efc93 1to2_H30_V5_VGH0_channel.h5
|
38 |
+
5d5a4ff7cb7aab334bb16bcc56aa73279d9f8f96a1ba1aa32965e9bc6c69775b 1to2_H30_V5_VGH0_target.h5
|
39 |
+
4fa97cae60284ef0e1c5ee5a2cca72f913811bbbd2932a8283360b890e221df6 1to2_H30_V5_VGH1_channel.h5
|
40 |
+
5d5a4ff7cb7aab334bb16bcc56aa73279d9f8f96a1ba1aa32965e9bc6c69775b 1to2_H30_V5_VGH1_target.h5
|
41 |
+
6f846a9a1ffb729307a59c14eba0868f9ecb7d611cf042aa4bb574e02f199bb5 1to2_H30_V5_VGH2_channel.h5
|
42 |
+
5d5a4ff7cb7aab334bb16bcc56aa73279d9f8f96a1ba1aa32965e9bc6c69775b 1to2_H30_V5_VGH2_target.h5
|
43 |
+
f8d8faa7b4e9537ab2b782dd4c9d17611705eefb3970d6b6700bf6d5e06e92b9 2to1_H15_V11_VGH0_channel.h5
|
44 |
+
136d6064014d0c1f4ad33cec75cccfbd4918146d80f8d201a7b200e92cc89201 2to1_H15_V11_VGH0_target.h5
|
45 |
+
44dcf78b17853f65d142e9faab490d840fb5980696a1c320f3d91fdefaed4483 2to1_H15_V11_VGH1_channel.h5
|
46 |
+
136d6064014d0c1f4ad33cec75cccfbd4918146d80f8d201a7b200e92cc89201 2to1_H15_V11_VGH1_target.h5
|
47 |
+
a51ec110640d8ac7957c16d576337dee21b317608ac19032c4c630cdee91cec6 2to1_H15_V11_VGH2_channel.h5
|
48 |
+
136d6064014d0c1f4ad33cec75cccfbd4918146d80f8d201a7b200e92cc89201 2to1_H15_V11_VGH2_target.h5
|
49 |
+
fe91649648f577615077bd723ca71beb29ee931038a074fe2f644ed6f499bc42 2to1_H15_V5_VGH0_channel.h5
|
50 |
+
c7936baf073ca5b9d0a1eb242e566a9f6e27ef0723fc5c5d9a68df844c942362 2to1_H15_V5_VGH0_target.h5
|
51 |
+
e740d0b3018ee864313aa8b34f749b61a8bd6ffad06a54e000e72dffecaa6a96 2to1_H15_V5_VGH1_channel.h5
|
52 |
+
c7936baf073ca5b9d0a1eb242e566a9f6e27ef0723fc5c5d9a68df844c942362 2to1_H15_V5_VGH1_target.h5
|
53 |
+
65225135f4ce1d5aee56332262153e6428337ab36c220ce2056dd6d16df0024d 2to1_H15_V5_VGH2_channel.h5
|
54 |
+
c7936baf073ca5b9d0a1eb242e566a9f6e27ef0723fc5c5d9a68df844c942362 2to1_H15_V5_VGH2_target.h5
|
55 |
+
c48e8aa6c6466fb0c4ae8624d7f6cae9d3fa1c6dcc9df2d1d4708492ca6448dd 2to1_H30_V11_VGH0_channel.h5
|
56 |
+
cf75d709054418a50aa176089fe5d4ac7e89a956529246f87a5d5f125776fac5 2to1_H30_V11_VGH0_target.h5
|
57 |
+
4d9a1e0d6b77e4a35c38cb554b3e8c4872198f78262cdf2afad845fe9fd2269a 2to1_H30_V11_VGH1_channel.h5
|
58 |
+
cf75d709054418a50aa176089fe5d4ac7e89a956529246f87a5d5f125776fac5 2to1_H30_V11_VGH1_target.h5
|
59 |
+
efc50d25f33bcbd7f545ad1d1d50e9715e24f02236deaeb804ef528e0a6c2969 2to1_H30_V11_VGH2_channel.h5
|
60 |
+
cf75d709054418a50aa176089fe5d4ac7e89a956529246f87a5d5f125776fac5 2to1_H30_V11_VGH2_target.h5
|
61 |
+
0678dba425f5a5d33e684eb7a3f3ea5470d1cee15343c6af385de89e26b981a6 2to1_H30_V5_VGH0_channel.h5
|
62 |
+
9523620d945fb896c87c599c2f89c546907c8563230aea98a47827eaa5c742a9 2to1_H30_V5_VGH0_target.h5
|
63 |
+
5b95736f6d22e554922d1573957b7b567b9ab76234f725ea5422744aa7f9d64f 2to1_H30_V5_VGH1_channel.h5
|
64 |
+
9523620d945fb896c87c599c2f89c546907c8563230aea98a47827eaa5c742a9 2to1_H30_V5_VGH1_target.h5
|
65 |
+
1939f8b82eb8d32571b8848a3af67c16c45c9c3f19f1a7e571c1676fd19e966a 2to1_H30_V5_VGH2_channel.h5
|
66 |
+
9523620d945fb896c87c599c2f89c546907c8563230aea98a47827eaa5c742a9 2to1_H30_V5_VGH2_target.h5
|
67 |
+
90c93d27efc43fa1aad48f406663f95be3275f54bd92e602f6c9a2b753ae90b2 2to3_H15_V11_VGH0_channel.h5
|
68 |
+
d4318ef79af68be9ae31f0110901f02d32bdc1a13a80c087dc62186724da5069 2to3_H15_V11_VGH0_target.h5
|
69 |
+
53dc2bf39a7a7d3e2b926aedd8f2b54d1bf06da5ae4e9c30d49b18a251611d45 2to3_H15_V11_VGH1_channel.h5
|
70 |
+
d4318ef79af68be9ae31f0110901f02d32bdc1a13a80c087dc62186724da5069 2to3_H15_V11_VGH1_target.h5
|
71 |
+
512ef6c5c1781db11868026198d26a0230c1136fda575b0ccf4aa06b7370ab40 2to3_H15_V11_VGH2_channel.h5
|
72 |
+
d4318ef79af68be9ae31f0110901f02d32bdc1a13a80c087dc62186724da5069 2to3_H15_V11_VGH2_target.h5
|
73 |
+
5b90a544c00ab94e9a240e2fb859f913642242d6b4facee7959b73e703e76c8f 2to3_H15_V5_VGH0_channel.h5
|
74 |
+
08e0995b3d668d15e2af118d63d7a67f97e28447c64c8f07064f1e6cdb90a0a9 2to3_H15_V5_VGH0_target.h5
|
75 |
+
ca0da6b5610d91b2dec43b54c0b61104582c61030a8d783ccd2d55ce6f13677e 2to3_H15_V5_VGH1_channel.h5
|
76 |
+
08e0995b3d668d15e2af118d63d7a67f97e28447c64c8f07064f1e6cdb90a0a9 2to3_H15_V5_VGH1_target.h5
|
77 |
+
6036b77c06170092a06426913088ef3d8fbd5cc9bf6cb8a7cdd2a82a22e0f9f3 2to3_H15_V5_VGH2_channel.h5
|
78 |
+
08e0995b3d668d15e2af118d63d7a67f97e28447c64c8f07064f1e6cdb90a0a9 2to3_H15_V5_VGH2_target.h5
|
79 |
+
45d24123e7c33640b75d2701e22b33f62749d652590b299b664ccadad6461f11 2to3_H30_V11_VGH0_channel.h5
|
80 |
+
e3952427a15f53858ed02f2fc63096beca07ea5c083f3b9a3efd69cc4fe18841 2to3_H30_V11_VGH0_target.h5
|
81 |
+
6bd03419ee2dd917ee9e1ca899d2743a339b2946c5ae1b25ec292fc3e84827e4 2to3_H30_V11_VGH1_channel.h5
|
82 |
+
e3952427a15f53858ed02f2fc63096beca07ea5c083f3b9a3efd69cc4fe18841 2to3_H30_V11_VGH1_target.h5
|
83 |
+
e22ae49608922638337fc10b90a50f58f53a805e70ed359d6dd6ccb99e8af014 2to3_H30_V11_VGH2_channel.h5
|
84 |
+
e3952427a15f53858ed02f2fc63096beca07ea5c083f3b9a3efd69cc4fe18841 2to3_H30_V11_VGH2_target.h5
|
85 |
+
cee04ef5fba93cf31375bd622c60a1aa661a717aa7c9d4dbe5b3dab38dfd65e7 2to3_H30_V5_VGH0_channel.h5
|
86 |
+
a2f395f9d04ef96ccfee61b0173d1a73e4015d3ac707e15e08217b5657d9634d 2to3_H30_V5_VGH0_target.h5
|
87 |
+
a2411e621fb6f40cec4bbc7887fc7187d683473761060f7315f7abeb6e4494f4 2to3_H30_V5_VGH1_channel.h5
|
88 |
+
a2f395f9d04ef96ccfee61b0173d1a73e4015d3ac707e15e08217b5657d9634d 2to3_H30_V5_VGH1_target.h5
|
89 |
+
25de9296f5885af4fcd3e0c2fda6701b7f64abc9e519c27720bd18ef2947b2c8 2to3_H30_V5_VGH2_channel.h5
|
90 |
+
a2f395f9d04ef96ccfee61b0173d1a73e4015d3ac707e15e08217b5657d9634d 2to3_H30_V5_VGH2_target.h5
|
91 |
+
3bd4311f945d5a03b0be24d7969b5abd1a0078b93fedbdbd75b26ef2098c4249 3to2_H15_V11_VGH0_channel.h5
|
92 |
+
9dc4b74f1352b192ffdcb9e36f041f445573d3d8dff2b613177be7016895513b 3to2_H15_V11_VGH0_target.h5
|
93 |
+
815372cd168e1100656def5bf86bc42b5dcf38f1511dc27a66f746297d4c6aa3 3to2_H15_V11_VGH1_channel.h5
|
94 |
+
9dc4b74f1352b192ffdcb9e36f041f445573d3d8dff2b613177be7016895513b 3to2_H15_V11_VGH1_target.h5
|
95 |
+
af49fe9cfe865a4051c2f5554164880f6627017cbdc34e1bba4030feb8535e98 3to2_H15_V11_VGH2_channel.h5
|
96 |
+
9dc4b74f1352b192ffdcb9e36f041f445573d3d8dff2b613177be7016895513b 3to2_H15_V11_VGH2_target.h5
|
97 |
+
740083553969ac1fc4413439cbb4bfd40f56b76a3aaeff325029cca15304fcc6 3to2_H15_V5_VGH0_channel.h5
|
98 |
+
6b49f89eb4541ea905188c3ca3ef11a183ec7561c77e78405247d48e27b4e10c 3to2_H15_V5_VGH0_target.h5
|
99 |
+
e270b84f4a491114f5a005ea2b89312d77a57ee35f39c11f6529d6926eae9ccd 3to2_H15_V5_VGH1_channel.h5
|
100 |
+
6b49f89eb4541ea905188c3ca3ef11a183ec7561c77e78405247d48e27b4e10c 3to2_H15_V5_VGH1_target.h5
|
101 |
+
042583a5268db97dc788d2daaf49f68c114c8397b25b94cdf41fa93bdfa17918 3to2_H15_V5_VGH2_channel.h5
|
102 |
+
6b49f89eb4541ea905188c3ca3ef11a183ec7561c77e78405247d48e27b4e10c 3to2_H15_V5_VGH2_target.h5
|
103 |
+
0d12bde4db47fb7397456db0a1cdd2459c7d7cd47be11236d2a65e9d6504c775 3to2_H30_V11_VGH0_channel.h5
|
104 |
+
11adc70ed6d811747ca422e0692ac65aee169dc71f523541cb133f6cc3d7371e 3to2_H30_V11_VGH0_target.h5
|
105 |
+
19cc27cf1cf0ab56169b1ce0bfd1a035980d0abec8d727a6726ec03ac14c4f77 3to2_H30_V11_VGH1_channel.h5
|
106 |
+
11adc70ed6d811747ca422e0692ac65aee169dc71f523541cb133f6cc3d7371e 3to2_H30_V11_VGH1_target.h5
|
107 |
+
038a43a396fed98e25cbf033900a5ac8d62d6f19f0d35f9cc03d4181498ba2e6 3to2_H30_V11_VGH2_channel.h5
|
108 |
+
11adc70ed6d811747ca422e0692ac65aee169dc71f523541cb133f6cc3d7371e 3to2_H30_V11_VGH2_target.h5
|
109 |
+
6b28bb079f0d8fc1d292c54e7a1740d997601497531956bccb2266fb9e30f095 3to2_H30_V5_VGH0_channel.h5
|
110 |
+
1201c3c70fc841d8ec495428e31767c0a633ed8fb1fade3760ff994d464bda68 3to2_H30_V5_VGH0_target.h5
|
111 |
+
3fbeca8a1fa918afd2ea536b5d134d5a41ea19362a07338a1575f179469b558a 3to2_H30_V5_VGH1_channel.h5
|
112 |
+
1201c3c70fc841d8ec495428e31767c0a633ed8fb1fade3760ff994d464bda68 3to2_H30_V5_VGH1_target.h5
|
113 |
+
cd6d9d7bc3f29d9a01a42b5098ecf6527cfa0d1ff76c27350c19856c7e5b6aee 3to2_H30_V5_VGH2_channel.h5
|
114 |
+
1201c3c70fc841d8ec495428e31767c0a633ed8fb1fade3760ff994d464bda68 3to2_H30_V5_VGH2_target.h5
|
115 |
+
34f056ed6dab8e41d969251364d0ddaa989364cf0d51360b9ada23234c26ee51 3to4_H15_V11_VGH0_channel.h5
|
116 |
+
b244b854853165e407a14d23d5d9bea36f570e81fc3348d9aed8a4e9915b933f 3to4_H15_V11_VGH0_target.h5
|
117 |
+
8a13a0211e3f20f0609591e46fa31e9c73f23f61e3a35a59a04af0ab4c783999 3to4_H15_V11_VGH1_channel.h5
|
118 |
+
b244b854853165e407a14d23d5d9bea36f570e81fc3348d9aed8a4e9915b933f 3to4_H15_V11_VGH1_target.h5
|
119 |
+
d7a1c28c546bbee2258c22545b36d9377646d277da669cdecc91870f33fb8e27 3to4_H15_V11_VGH2_channel.h5
|
120 |
+
b244b854853165e407a14d23d5d9bea36f570e81fc3348d9aed8a4e9915b933f 3to4_H15_V11_VGH2_target.h5
|
121 |
+
49b588268e8b9ec2a0082c141b62bc51f92fdbe1aa1ec86ee600f7b334f21c8e 3to4_H15_V5_VGH0_channel.h5
|
122 |
+
d600964f119e1c217cb7f6a408c82f66c2c18d0eaeef94811fae1579e9a2d43c 3to4_H15_V5_VGH0_target.h5
|
123 |
+
cd9a8670d185e7f1257884eed50059d0e663e59c9ce2aa69b47f498a8abc702d 3to4_H15_V5_VGH1_channel.h5
|
124 |
+
d600964f119e1c217cb7f6a408c82f66c2c18d0eaeef94811fae1579e9a2d43c 3to4_H15_V5_VGH1_target.h5
|
125 |
+
5b3ca3289c20ebb0e4c770c02ee460afb51de5a25d10236fc515bb10fdeb84d4 3to4_H15_V5_VGH2_channel.h5
|
126 |
+
d600964f119e1c217cb7f6a408c82f66c2c18d0eaeef94811fae1579e9a2d43c 3to4_H15_V5_VGH2_target.h5
|
127 |
+
1c814a1822ed7156805bcc0ad22ac5b13826c2b96fb4fc2cabd1f391081be2b9 3to4_H30_V11_VGH0_channel.h5
|
128 |
+
96431c974340084f5800fcd0579caba9ea93ea52192b7f6c5afe227df294e6e4 3to4_H30_V11_VGH0_target.h5
|
129 |
+
b7de9f17f0e2bc3e9676f818cafdb91a486b79edd5923dc670afe5e58ab2ab97 3to4_H30_V11_VGH1_channel.h5
|
130 |
+
96431c974340084f5800fcd0579caba9ea93ea52192b7f6c5afe227df294e6e4 3to4_H30_V11_VGH1_target.h5
|
131 |
+
c57213b9c66d68089b66feb0d6772f846dfe54f01d5193c5283099d5e8086e6f 3to4_H30_V11_VGH2_channel.h5
|
132 |
+
96431c974340084f5800fcd0579caba9ea93ea52192b7f6c5afe227df294e6e4 3to4_H30_V11_VGH2_target.h5
|
133 |
+
0cca6180280e5ca17e5d6e730d3840e82ae253d5eb52000b9c4ccfe018d52954 3to4_H30_V5_VGH0_channel.h5
|
134 |
+
6d1c83d9d03aa92546ef1c711a09293978a8419ac2a2ceb7ef41900480f47d8b 3to4_H30_V5_VGH0_target.h5
|
135 |
+
67dac1f1c314bd465d68c0fb2cdbed81696a1c685511e66a0831265e887c2b35 3to4_H30_V5_VGH1_channel.h5
|
136 |
+
6d1c83d9d03aa92546ef1c711a09293978a8419ac2a2ceb7ef41900480f47d8b 3to4_H30_V5_VGH1_target.h5
|
137 |
+
c79658a28de4cbff7f043e43edd6626ce2155f8b9c2cc32987618fdc05d57676 3to4_H30_V5_VGH2_channel.h5
|
138 |
+
6d1c83d9d03aa92546ef1c711a09293978a8419ac2a2ceb7ef41900480f47d8b 3to4_H30_V5_VGH2_target.h5
|
139 |
+
d88a75777e8cdd8846b1fd737c64ad5d1daac23787c40b38581592619204e429 4to3_H15_V11_VGH0_channel.h5
|
140 |
+
35cd40f218adc63da4a8403685d7ecbf4c7bdec509011bf1b81be7dc11313c8e 4to3_H15_V11_VGH0_target.h5
|
141 |
+
63bd924ffaedf1bf369ce0ffb162ccb118717821b8f467745bf6aeba588faf75 4to3_H15_V11_VGH1_channel.h5
|
142 |
+
35cd40f218adc63da4a8403685d7ecbf4c7bdec509011bf1b81be7dc11313c8e 4to3_H15_V11_VGH1_target.h5
|
143 |
+
aecd40a75f2af918bbaed4e84c42b78fddcd5ba860194fdd12ac21130509f09b 4to3_H15_V11_VGH2_channel.h5
|
144 |
+
35cd40f218adc63da4a8403685d7ecbf4c7bdec509011bf1b81be7dc11313c8e 4to3_H15_V11_VGH2_target.h5
|
145 |
+
331bff3eed38220575a14cd36060928000cb6b119657b21b0ecb05e3e4cea706 4to3_H15_V5_VGH0_channel.h5
|
146 |
+
b3508a37c5ad1cb02a526acd6f574ecc406b89246fbfd6d992f8f88a207a61fb 4to3_H15_V5_VGH0_target.h5
|
147 |
+
edc0ea9866d0bb1df2378d9d032cfc37659ddb818a1157319abee7f6e36ebfdb 4to3_H15_V5_VGH1_channel.h5
|
148 |
+
b3508a37c5ad1cb02a526acd6f574ecc406b89246fbfd6d992f8f88a207a61fb 4to3_H15_V5_VGH1_target.h5
|
149 |
+
c7d2473dc532c3c7a012ef31c3c4f733115eff5ce979005f962f7a05b39f1bf0 4to3_H15_V5_VGH2_channel.h5
|
150 |
+
b3508a37c5ad1cb02a526acd6f574ecc406b89246fbfd6d992f8f88a207a61fb 4to3_H15_V5_VGH2_target.h5
|
151 |
+
40d3296e38733cd3cac1913b4794ee13bf296bc0e9f2c069704991223eaa790f 4to3_H30_V11_VGH0_channel.h5
|
152 |
+
939ba115fd79fdf97f7d0749d1f393e7e15116a68a40da03d1493710d6656210 4to3_H30_V11_VGH0_target.h5
|
153 |
+
b8fdaf1031e41410f94afd3b5ee00356fb73136ae7156fc8b3cf299d31007cb8 4to3_H30_V11_VGH1_channel.h5
|
154 |
+
939ba115fd79fdf97f7d0749d1f393e7e15116a68a40da03d1493710d6656210 4to3_H30_V11_VGH1_target.h5
|
155 |
+
bebff1758457c6dcb387137366b4c17fdfbb6c52beb5b38a0f60a00fe89a361e 4to3_H30_V11_VGH2_channel.h5
|
156 |
+
939ba115fd79fdf97f7d0749d1f393e7e15116a68a40da03d1493710d6656210 4to3_H30_V11_VGH2_target.h5
|
157 |
+
2ea8feb512fea7133c08e4d2367fa55430684e0027745b2df31e7e3665e4bc66 4to3_H30_V5_VGH0_channel.h5
|
158 |
+
e65bc22e86bad9dfae17ca4ec39dd6741966177ac8caff07eb436f06ff6c59ba 4to3_H30_V5_VGH0_target.h5
|
159 |
+
b61ed61b10593dc0f6b170d641636950f257883f9e10ed848fcfcf5bac4e1d2c 4to3_H30_V5_VGH1_channel.h5
|
160 |
+
e65bc22e86bad9dfae17ca4ec39dd6741966177ac8caff07eb436f06ff6c59ba 4to3_H30_V5_VGH1_target.h5
|
161 |
+
28e7fba1ac7b52d9879d14f498f258392d3a29a853c1e4c14aa568b55261d552 4to3_H30_V5_VGH2_channel.h5
|
162 |
+
e65bc22e86bad9dfae17ca4ec39dd6741966177ac8caff07eb436f06ff6c59ba 4to3_H30_V5_VGH2_target.h5
|
163 |
+
3f2d8c9dcb64d8105931b11e110f15e52645826b79ecd47bf7b5140f6f908c20 4to5_H15_V11_VGH0_channel.h5
|
164 |
+
9125b9ce115c2d87fb02fc6ed216e14697dbe68a4afa09ca4c175ad21e7d35a1 4to5_H15_V11_VGH0_target.h5
|
165 |
+
8a948c13b1afdc9e202400e15f980a2057fb9e4e843784bea8fd3594f365f7f0 4to5_H15_V11_VGH1_channel.h5
|
166 |
+
9125b9ce115c2d87fb02fc6ed216e14697dbe68a4afa09ca4c175ad21e7d35a1 4to5_H15_V11_VGH1_target.h5
|
167 |
+
7a274b9e211b98fd0706285ff01d4bfad74714eb9307b39cc115106858a894aa 4to5_H15_V11_VGH2_channel.h5
|
168 |
+
9125b9ce115c2d87fb02fc6ed216e14697dbe68a4afa09ca4c175ad21e7d35a1 4to5_H15_V11_VGH2_target.h5
|
169 |
+
47364a7711d440f239f0f51bf076122d5c5001f21352d2bad2ea17ea1900ae99 4to5_H15_V5_VGH0_channel.h5
|
170 |
+
a7505a09851fa75677b565e7ecb97e5a91a44b962b8e87b461e4b777d7a1c061 4to5_H15_V5_VGH0_target.h5
|
171 |
+
3f3ddb57cc57ac460b0d1c03e59b57ca1d5f4d0903bae6d0a838add2e5c0fac0 4to5_H15_V5_VGH1_channel.h5
|
172 |
+
a7505a09851fa75677b565e7ecb97e5a91a44b962b8e87b461e4b777d7a1c061 4to5_H15_V5_VGH1_target.h5
|
173 |
+
3cf61725fe07a7f29686dfe1e11c1ab4297638e83277da9a2234b67c7a78626d 4to5_H15_V5_VGH2_channel.h5
|
174 |
+
a7505a09851fa75677b565e7ecb97e5a91a44b962b8e87b461e4b777d7a1c061 4to5_H15_V5_VGH2_target.h5
|
175 |
+
c9fa384b85be230f8515f31ef301c8db95e00a3898b3474e5dcf6a671919ebe5 4to5_H30_V11_VGH0_channel.h5
|
176 |
+
8fe9a1e424d59577d29e9a09242c12bab053fead735d7a26059f82cb5057ba3a 4to5_H30_V11_VGH0_target.h5
|
177 |
+
feb384fdfaeff690b7db90ccef415282ae7270cc9614c02455ad5e6d922e4180 4to5_H30_V11_VGH1_channel.h5
|
178 |
+
8fe9a1e424d59577d29e9a09242c12bab053fead735d7a26059f82cb5057ba3a 4to5_H30_V11_VGH1_target.h5
|
179 |
+
dc75c89fdcbecd112cce19b0ebfc548db790813d1145abbacfa5a2080b8062aa 4to5_H30_V11_VGH2_channel.h5
|
180 |
+
8fe9a1e424d59577d29e9a09242c12bab053fead735d7a26059f82cb5057ba3a 4to5_H30_V11_VGH2_target.h5
|
181 |
+
1641e5975ac785cf3731b8d566ede308cb9f01fa1c5e28925867f9a17038cfe9 4to5_H30_V5_VGH0_channel.h5
|
182 |
+
75cf8aa5f04c74dc0f1253b512852cd7362a58b46b396e57b6694012bdf2a8c0 4to5_H30_V5_VGH0_target.h5
|
183 |
+
ce7e3a6e84b7d57abdff2d65963cb7fbd3cd85d72d95347449c6cef8a850fd2e 4to5_H30_V5_VGH1_channel.h5
|
184 |
+
75cf8aa5f04c74dc0f1253b512852cd7362a58b46b396e57b6694012bdf2a8c0 4to5_H30_V5_VGH1_target.h5
|
185 |
+
8b35781618db2fb831c4a463b023e9b577fc7702e3dfd96e0459ffedafa7d054 4to5_H30_V5_VGH2_channel.h5
|
186 |
+
75cf8aa5f04c74dc0f1253b512852cd7362a58b46b396e57b6694012bdf2a8c0 4to5_H30_V5_VGH2_target.h5
|
187 |
+
ee7d90ec6190154c64e720440888776fc2e7802a4b20c3406b3f8609270ca5be 5to4_H15_V11_VGH0_channel.h5
|
188 |
+
fd843cc67ffae06305abe54309e14be9ccc0ab677d6509482022d2fefcc66254 5to4_H15_V11_VGH0_target.h5
|
189 |
+
a218a8d05052048a04ad27846217f0732662cbcaa04db06b7faa4abe68661a06 5to4_H15_V11_VGH1_channel.h5
|
190 |
+
fd843cc67ffae06305abe54309e14be9ccc0ab677d6509482022d2fefcc66254 5to4_H15_V11_VGH1_target.h5
|
191 |
+
35c4c39943f1bc449c0c982be83862e147584ea55db9ba1f05da5c7f8a7a8b21 5to4_H15_V11_VGH2_channel.h5
|
192 |
+
fd843cc67ffae06305abe54309e14be9ccc0ab677d6509482022d2fefcc66254 5to4_H15_V11_VGH2_target.h5
|
193 |
+
8495dbf2a401e2ed5f549d7045c067d80548d1c8ee4ebe6a1ccde461a45e7ebd 5to4_H15_V5_VGH0_channel.h5
|
194 |
+
5ab010ecce6908460e1004d3cbffb2a8d89e325aea76d80379db8952bae916c2 5to4_H15_V5_VGH0_target.h5
|
195 |
+
1bccc3c5338741873d782a986b745171c0244641a376c92b1bd0509578016f63 5to4_H15_V5_VGH1_channel.h5
|
196 |
+
5ab010ecce6908460e1004d3cbffb2a8d89e325aea76d80379db8952bae916c2 5to4_H15_V5_VGH1_target.h5
|
197 |
+
2c90f8f60962e0102a9bbcfeee2f3f23189f83caf206b17c8b5de485e213a778 5to4_H15_V5_VGH2_channel.h5
|
198 |
+
5ab010ecce6908460e1004d3cbffb2a8d89e325aea76d80379db8952bae916c2 5to4_H15_V5_VGH2_target.h5
|
199 |
+
dbe00fbb4917bf740bb38a57823e7ca316bad4a6688e4e7d6411a72a9c3e1dc5 5to4_H30_V11_VGH0_channel.h5
|
200 |
+
2dcdca71ecebcd476d9a7afe3a8c0dc0cd6336fa215a9a2091b4f5fd2ce311ee 5to4_H30_V11_VGH0_target.h5
|
201 |
+
88589052ab8850096182372ab11cd3e6f5c323492149c483519493eb79e61cd4 5to4_H30_V11_VGH1_channel.h5
|
202 |
+
2dcdca71ecebcd476d9a7afe3a8c0dc0cd6336fa215a9a2091b4f5fd2ce311ee 5to4_H30_V11_VGH1_target.h5
|
203 |
+
2b96ddab64c70d242466f1abc47ea05830e13e00d8440c21fb40c97df8e8ae45 5to4_H30_V11_VGH2_channel.h5
|
204 |
+
2dcdca71ecebcd476d9a7afe3a8c0dc0cd6336fa215a9a2091b4f5fd2ce311ee 5to4_H30_V11_VGH2_target.h5
|
205 |
+
147cfd1e2d56cf699b87e9d8d5d425173523ce919dc22d7920587aa6f21ae7fc 5to4_H30_V5_VGH0_channel.h5
|
206 |
+
f0124fc06be58f7e97e11e870c19cc54c7b2457ac80b2f2d16cfff5e3a5a13fb 5to4_H30_V5_VGH0_target.h5
|
207 |
+
061580e2c6937387809039f79a31a166243acd53c11bddf81cb325259d7a8570 5to4_H30_V5_VGH1_channel.h5
|
208 |
+
f0124fc06be58f7e97e11e870c19cc54c7b2457ac80b2f2d16cfff5e3a5a13fb 5to4_H30_V5_VGH1_target.h5
|
209 |
+
703e84f61cdccd8f9b8b1bf1b8d7f3c28b81472e4b4f7b37593929f8a9867647 5to4_H30_V5_VGH2_channel.h5
|
210 |
+
f0124fc06be58f7e97e11e870c19cc54c7b2457ac80b2f2d16cfff5e3a5a13fb 5to4_H30_V5_VGH2_target.h5
|
211 |
+
8d0522c85ddba4df7099fdc5057cd6366ee05f18a6c332f25b3f1f3c837151d8 5to6_H15_V11_VGH0_channel.h5
|
212 |
+
f68811691d0b5ee4075cdc62fd4bc3c61e446c63e68f9e6a4738bd2d75abe0b1 5to6_H15_V11_VGH0_target.h5
|
213 |
+
abdc68a8642f0e630d4b7e0e84f7282d170c5c8d127eadb8a2886a7a7ecab2c7 5to6_H15_V11_VGH1_channel.h5
|
214 |
+
f68811691d0b5ee4075cdc62fd4bc3c61e446c63e68f9e6a4738bd2d75abe0b1 5to6_H15_V11_VGH1_target.h5
|
215 |
+
ca8a49e25972a97eb25504dc7685e996bcdacc534500056d9bd93c6148111fc5 5to6_H15_V11_VGH2_channel.h5
|
216 |
+
f68811691d0b5ee4075cdc62fd4bc3c61e446c63e68f9e6a4738bd2d75abe0b1 5to6_H15_V11_VGH2_target.h5
|
217 |
+
69c4c424e6f78625aa6d4c239a577387b5f20f4630e31d687005db0685cf9625 5to6_H15_V5_VGH0_channel.h5
|
218 |
+
d9da02a32581918da9679fefced2cf8243fc4c39af7734f37075a2271d7d5f28 5to6_H15_V5_VGH0_target.h5
|
219 |
+
b85c1150c5e9c3af0cf7badad74f87a767f44f3a1e8bc1a28686aa77227d5738 5to6_H15_V5_VGH1_channel.h5
|
220 |
+
d9da02a32581918da9679fefced2cf8243fc4c39af7734f37075a2271d7d5f28 5to6_H15_V5_VGH1_target.h5
|
221 |
+
762ff3b672aca9644635ba899e0b75d847026a9539354d8f4a2f26c867f9a602 5to6_H15_V5_VGH2_channel.h5
|
222 |
+
d9da02a32581918da9679fefced2cf8243fc4c39af7734f37075a2271d7d5f28 5to6_H15_V5_VGH2_target.h5
|
223 |
+
95c7425449fda047237b5ded538d84825b3ea2926ed44805fcd8255994f20fa5 5to6_H30_V11_VGH0_channel.h5
|
224 |
+
45c67376061bab5b7398fd4514a3d5177fde6fe252c5d93010f15479617696c7 5to6_H30_V11_VGH0_target.h5
|
225 |
+
c9d027fe03edba43431c832501747ca4d002aaa5b4afcb82feae75beb0d9fc6b 5to6_H30_V11_VGH1_channel.h5
|
226 |
+
45c67376061bab5b7398fd4514a3d5177fde6fe252c5d93010f15479617696c7 5to6_H30_V11_VGH1_target.h5
|
227 |
+
31abe8e300778e860b83fe57c16cd2224e706100cf5653640c0a12e90ccac765 5to6_H30_V11_VGH2_channel.h5
|
228 |
+
45c67376061bab5b7398fd4514a3d5177fde6fe252c5d93010f15479617696c7 5to6_H30_V11_VGH2_target.h5
|
229 |
+
5e2fca7e1b536fe023b8ce41065fb0d4a58d25184c956fef8378cc9f8d8f457a 5to6_H30_V5_VGH0_channel.h5
|
230 |
+
faf90feeb0c09835fafa80c536d3d664cc0ac4114596afa1de3e75ebbc3ba368 5to6_H30_V5_VGH0_target.h5
|
231 |
+
8818a8c1a7df72798474c6339451fea8be1de71f10bbaae350cdb10c53332c5f 5to6_H30_V5_VGH1_channel.h5
|
232 |
+
faf90feeb0c09835fafa80c536d3d664cc0ac4114596afa1de3e75ebbc3ba368 5to6_H30_V5_VGH1_target.h5
|
233 |
+
0a49a9aa2d1c64ae794c17116ededff31a6ce0e2319845f3c7fc66caac382316 5to6_H30_V5_VGH2_channel.h5
|
234 |
+
faf90feeb0c09835fafa80c536d3d664cc0ac4114596afa1de3e75ebbc3ba368 5to6_H30_V5_VGH2_target.h5
|
235 |
+
60fda00e58bf29e9a9aeb5332e90514b9051dfb29b434cb609a189edf8d3fa6b 6to5_H15_V11_VGH0_channel.h5
|
236 |
+
c95ecb9aa2e01c90f94779ba129fb64d0b8129e2f2fd2925ce052b6abadda70d 6to5_H15_V11_VGH0_target.h5
|
237 |
+
d1009316cf2ed9f2565bf389b5fabc4c5b95dc499e88b99b7de25cb7ec5b385a 6to5_H15_V11_VGH1_channel.h5
|
238 |
+
c95ecb9aa2e01c90f94779ba129fb64d0b8129e2f2fd2925ce052b6abadda70d 6to5_H15_V11_VGH1_target.h5
|
239 |
+
c955af8fd1402a1d7ecf9bb9f10221374a77c1c3ffa56edead1e446f9935a0a8 6to5_H15_V11_VGH2_channel.h5
|
240 |
+
c95ecb9aa2e01c90f94779ba129fb64d0b8129e2f2fd2925ce052b6abadda70d 6to5_H15_V11_VGH2_target.h5
|
241 |
+
a6bc2f96a50c773dd1a4f45620368a07fbfa02561f43fd9789cf8d269e6458e2 6to5_H15_V5_VGH0_channel.h5
|
242 |
+
8a21751ce6d2dbc899e4b97e061b076754ff443a29f98776023cf41742c30606 6to5_H15_V5_VGH0_target.h5
|
243 |
+
bab1561224a51d6191934175559fbb8728d0b4b22456ad5d319b6d13398c68ef 6to5_H15_V5_VGH1_channel.h5
|
244 |
+
8a21751ce6d2dbc899e4b97e061b076754ff443a29f98776023cf41742c30606 6to5_H15_V5_VGH1_target.h5
|
245 |
+
36274d25ec0964a646c5cfe876c15a5927f0b5bfb6ecddbebf7702c63bc1def7 6to5_H15_V5_VGH2_channel.h5
|
246 |
+
8a21751ce6d2dbc899e4b97e061b076754ff443a29f98776023cf41742c30606 6to5_H15_V5_VGH2_target.h5
|
247 |
+
3a48864883d7af86051267d0f6dfd43fdbc53def38f88a5f086b154d3953db84 6to5_H30_V11_VGH0_channel.h5
|
248 |
+
c85cb95e00e89686d8f2991a9b9bf053e91d1b99044665f6a3fddd5014d24f50 6to5_H30_V11_VGH0_target.h5
|
249 |
+
e697a27927c10a9c928abffbc72c68707295158b49407c1e57fa50102b7c9c28 6to5_H30_V11_VGH1_channel.h5
|
250 |
+
c85cb95e00e89686d8f2991a9b9bf053e91d1b99044665f6a3fddd5014d24f50 6to5_H30_V11_VGH1_target.h5
|
251 |
+
e3fa8482aa814f387957e436566508eef60283cc01c30d00b87220d82dba2b57 6to5_H30_V11_VGH2_channel.h5
|
252 |
+
c85cb95e00e89686d8f2991a9b9bf053e91d1b99044665f6a3fddd5014d24f50 6to5_H30_V11_VGH2_target.h5
|
253 |
+
973cf995d80b33a7cc61f55663c2c9e341504079114a52321a3ed805aeacc2b5 6to5_H30_V5_VGH0_channel.h5
|
254 |
+
99111ca2a104ef0765fd3f072ef610166e98cc69b635bc521cc5ff7c24422c3f 6to5_H30_V5_VGH0_target.h5
|
255 |
+
99cd3ac392a746e0f96d32df0d5e14ef5a76c283a20a9b88e7b597e6dfd242a3 6to5_H30_V5_VGH1_channel.h5
|
256 |
+
99111ca2a104ef0765fd3f072ef610166e98cc69b635bc521cc5ff7c24422c3f 6to5_H30_V5_VGH1_target.h5
|
257 |
+
b05fb68a0ecce85590e321a5e4aec56a456afdfd50440536f406118469337fb1 6to5_H30_V5_VGH2_channel.h5
|
258 |
+
99111ca2a104ef0765fd3f072ef610166e98cc69b635bc521cc5ff7c24422c3f 6to5_H30_V5_VGH2_target.h5
|
259 |
+
cf30033390eff819e3bf98361f664201105b16f5f6632a4373e8b13fe8663882 6to7_H15_V11_VGH0_channel.h5
|
260 |
+
ade6cecb74d768e3a3b767ba7e3300ea5035a022c12acc0f4ad4495d1abadd00 6to7_H15_V11_VGH0_target.h5
|
261 |
+
a76c1cea12dd3308860e18ae2c926162d20c72d7f320ef1d8c4171a25586ac53 6to7_H15_V11_VGH1_channel.h5
|
262 |
+
ade6cecb74d768e3a3b767ba7e3300ea5035a022c12acc0f4ad4495d1abadd00 6to7_H15_V11_VGH1_target.h5
|
263 |
+
cd23e38c7abe78d7ff052efd2e0a5001d3a34c1c6aba77651efc6689c3af2143 6to7_H15_V11_VGH2_channel.h5
|
264 |
+
ade6cecb74d768e3a3b767ba7e3300ea5035a022c12acc0f4ad4495d1abadd00 6to7_H15_V11_VGH2_target.h5
|
265 |
+
eaab3ad2b2ec54827934892c9af22217b3d53c0fed9e78ac30520b628dcd81d6 6to7_H15_V5_VGH0_channel.h5
|
266 |
+
be900179d088a3f4ac060be310ef5fa545794a1bb8b01997e76acb21f01b9f9c 6to7_H15_V5_VGH0_target.h5
|
267 |
+
ad279681a12077d55fa5d13592a5d862dcab637709f70623e68a5b194c67571c 6to7_H15_V5_VGH1_channel.h5
|
268 |
+
be900179d088a3f4ac060be310ef5fa545794a1bb8b01997e76acb21f01b9f9c 6to7_H15_V5_VGH1_target.h5
|
269 |
+
943d9c87257e2ad6f9a73f4f395de653cce1936d605c0e0e999620d01deb17fd 6to7_H15_V5_VGH2_channel.h5
|
270 |
+
be900179d088a3f4ac060be310ef5fa545794a1bb8b01997e76acb21f01b9f9c 6to7_H15_V5_VGH2_target.h5
|
271 |
+
30bf73b538d3c0499d3d57cb255f8d94575a55fe3f0c001650974cc2b9306659 6to7_H30_V11_VGH0_channel.h5
|
272 |
+
e3039e304528c813a060bcdef8e8bc61d825edded97efe10303323289fe339da 6to7_H30_V11_VGH0_target.h5
|
273 |
+
2a8c64956a805acd4f23423f90ccd32a6cd2fe82403b821262a0ed575777a42a 6to7_H30_V11_VGH1_channel.h5
|
274 |
+
e3039e304528c813a060bcdef8e8bc61d825edded97efe10303323289fe339da 6to7_H30_V11_VGH1_target.h5
|
275 |
+
c4ca2d66ed3c99911c8c63c335665ad82d118adc0c0d5b12740bfd537a0c9bf8 6to7_H30_V11_VGH2_channel.h5
|
276 |
+
e3039e304528c813a060bcdef8e8bc61d825edded97efe10303323289fe339da 6to7_H30_V11_VGH2_target.h5
|
277 |
+
ef6d4ce1db7e13129cf51d34d64451cd089e739c1d6cb7a576de0d8faf477a19 6to7_H30_V5_VGH0_channel.h5
|
278 |
+
36151b7678dd375f10ca8b6fc2761fad8069e46b35acc6e7063ee7fc55005c48 6to7_H30_V5_VGH0_target.h5
|
279 |
+
71127d175726b95934cd4c88dcb1e57422796136fc60b3cf976ba0bfe64345d3 6to7_H30_V5_VGH1_channel.h5
|
280 |
+
36151b7678dd375f10ca8b6fc2761fad8069e46b35acc6e7063ee7fc55005c48 6to7_H30_V5_VGH1_target.h5
|
281 |
+
8361cfb9794aa390c9a5eb55889a305e32e652e64472b449ba45b98f9fe23c8a 6to7_H30_V5_VGH2_channel.h5
|
282 |
+
36151b7678dd375f10ca8b6fc2761fad8069e46b35acc6e7063ee7fc55005c48 6to7_H30_V5_VGH2_target.h5
|
283 |
+
604972ce6fcfa88bae6412688717eb324f1c36f29de5a949fa38f908f4df8db1 7to6_H15_V11_VGH0_channel.h5
|
284 |
+
b4bfb5484de586ff8a450e01ae1658583ee02e82f78f2185a99ad2e979b2db5c 7to6_H15_V11_VGH0_target.h5
|
285 |
+
d05970643bc669cf3aa9f240c9249a93e2e07661c0a83837b56edc86cc238ad8 7to6_H15_V11_VGH1_channel.h5
|
286 |
+
b4bfb5484de586ff8a450e01ae1658583ee02e82f78f2185a99ad2e979b2db5c 7to6_H15_V11_VGH1_target.h5
|
287 |
+
b8db0033e35c765642638f25b47401ab7c13eaad4deb6b74ea2b238996ea9c2f 7to6_H15_V11_VGH2_channel.h5
|
288 |
+
b4bfb5484de586ff8a450e01ae1658583ee02e82f78f2185a99ad2e979b2db5c 7to6_H15_V11_VGH2_target.h5
|
289 |
+
7ba0eb6c73803da165855452f97fc1dd4590f23014f18552ab204519e925c82f 7to6_H15_V5_VGH0_channel.h5
|
290 |
+
014d2aa67e00633163740d49450a9abbdc3ba223fecac8e2406310b6a7ba1a4e 7to6_H15_V5_VGH0_target.h5
|
291 |
+
5c1459e6f742c39ea13bd2ea164569aca26910fd5ab4bf77fdb954bc247a0b9d 7to6_H15_V5_VGH1_channel.h5
|
292 |
+
014d2aa67e00633163740d49450a9abbdc3ba223fecac8e2406310b6a7ba1a4e 7to6_H15_V5_VGH1_target.h5
|
293 |
+
d40d75d81899b4e2e71df8a32684e27488fafe5270d93d08fc00e79c7ddace87 7to6_H15_V5_VGH2_channel.h5
|
294 |
+
014d2aa67e00633163740d49450a9abbdc3ba223fecac8e2406310b6a7ba1a4e 7to6_H15_V5_VGH2_target.h5
|
295 |
+
929b84def0e85e84bc29a0a06f0202222720b466d9e69211a17a6024ae672425 7to6_H30_V11_VGH0_channel.h5
|
296 |
+
12d7b4518cbda8a07272c3167c4c3efadbaaf58fdaecd8bced8abe58f8a2fae8 7to6_H30_V11_VGH0_target.h5
|
297 |
+
f2b3f6c5c6fb81ad88b3aa928cdd3f08d610b9cbabf634eb10eaafb3fd9c5037 7to6_H30_V11_VGH1_channel.h5
|
298 |
+
12d7b4518cbda8a07272c3167c4c3efadbaaf58fdaecd8bced8abe58f8a2fae8 7to6_H30_V11_VGH1_target.h5
|
299 |
+
78f961f56f04409f14e30fdf9402c3d4b8043b554add5d072f6621b5d894a05a 7to6_H30_V11_VGH2_channel.h5
|
300 |
+
12d7b4518cbda8a07272c3167c4c3efadbaaf58fdaecd8bced8abe58f8a2fae8 7to6_H30_V11_VGH2_target.h5
|
301 |
+
6685d69740ecf4847a6436c29292cf48a57d90a56cb759506be6573095a6fe37 7to6_H30_V5_VGH0_channel.h5
|
302 |
+
b7469d7ab99aed13b7340e04360565e1ed05df29b38df879b0cb9e530555c357 7to6_H30_V5_VGH0_target.h5
|
303 |
+
c38198b476cbb0fddec01e0a1a68b3aa9605850a7c4a9a9671af91259daf5cb0 7to6_H30_V5_VGH1_channel.h5
|
304 |
+
b7469d7ab99aed13b7340e04360565e1ed05df29b38df879b0cb9e530555c357 7to6_H30_V5_VGH1_target.h5
|
305 |
+
3fe8af7bcf462691a106e4cc1e5f804e5075c62ccbde77b42d3e3f3746cdea62 7to6_H30_V5_VGH2_channel.h5
|
306 |
+
b7469d7ab99aed13b7340e04360565e1ed05df29b38df879b0cb9e530555c357 7to6_H30_V5_VGH2_target.h5
|
307 |
+
ffa319e744fddfa2cdd8ff898b4629f74315e456e0c37708c567ebd8c0e03330 7to8_H15_V11_VGH0_channel.h5
|
308 |
+
ecc42218065b97cc1ad313f60d11e235b2a830e5355dd3a62e92c08e27664db6 7to8_H15_V11_VGH0_target.h5
|
309 |
+
8182ceca1fd1daccaf0b3b42774e5415e0e472e30bcd5726110eaaff08f7c554 7to8_H15_V11_VGH1_channel.h5
|
310 |
+
ecc42218065b97cc1ad313f60d11e235b2a830e5355dd3a62e92c08e27664db6 7to8_H15_V11_VGH1_target.h5
|
311 |
+
ba746bd35747991b0b80eb4cdf50548f6d73b38393bcb6227f6b560ea0e4b21e 7to8_H15_V11_VGH2_channel.h5
|
312 |
+
ecc42218065b97cc1ad313f60d11e235b2a830e5355dd3a62e92c08e27664db6 7to8_H15_V11_VGH2_target.h5
|
313 |
+
41b889d0c986f66a6fe9863746c8262abd78ad0c824d872cec307b0cf86ee8b8 7to8_H15_V5_VGH0_channel.h5
|
314 |
+
71b813c100c31f899684bba20497ef983611ba0eb4529c04a1dd3a7a8b52ad5d 7to8_H15_V5_VGH0_target.h5
|
315 |
+
3fe94c7a70e551df6d56826307bad03afdda15487320c3621149e177fb9b8756 7to8_H15_V5_VGH1_channel.h5
|
316 |
+
71b813c100c31f899684bba20497ef983611ba0eb4529c04a1dd3a7a8b52ad5d 7to8_H15_V5_VGH1_target.h5
|
317 |
+
a0993aff43b30618c332ed63117722236f7273629cd5d7cdc58517cf4d1a00c8 7to8_H15_V5_VGH2_channel.h5
|
318 |
+
71b813c100c31f899684bba20497ef983611ba0eb4529c04a1dd3a7a8b52ad5d 7to8_H15_V5_VGH2_target.h5
|
319 |
+
d6928660fb6698f1f331d26f7696a24cc71af46af6c820a298aa31e710a8e666 7to8_H30_V11_VGH0_channel.h5
|
320 |
+
cc4558d14852633f76e68aee4eafeb6f7342fc4cf3f27ad5f9883549eda97844 7to8_H30_V11_VGH0_target.h5
|
321 |
+
d06e10adaf099ae8c8284b1bb73b19a4a6a314fe8f524de2169fa4025fd76dfa 7to8_H30_V11_VGH1_channel.h5
|
322 |
+
cc4558d14852633f76e68aee4eafeb6f7342fc4cf3f27ad5f9883549eda97844 7to8_H30_V11_VGH1_target.h5
|
323 |
+
8a06e1788f3ed8db9660e5ada2ab241fdc0f508878b5bd9e6e8c980f0d5616dd 7to8_H30_V11_VGH2_channel.h5
|
324 |
+
cc4558d14852633f76e68aee4eafeb6f7342fc4cf3f27ad5f9883549eda97844 7to8_H30_V11_VGH2_target.h5
|
325 |
+
f998ab59ebe2909e38ee19029558e163fea1fba7ed0044c06452b3decc80870f 7to8_H30_V5_VGH0_channel.h5
|
326 |
+
d38ab48c953f866d0d57fa8d98a44c6647c7aea24e12595d06a949a80ba97219 7to8_H30_V5_VGH0_target.h5
|
327 |
+
8c336e98065103f4f568edbb962ef7ab5b615df32888d3f7dbc166fa5140a5c8 7to8_H30_V5_VGH1_channel.h5
|
328 |
+
d38ab48c953f866d0d57fa8d98a44c6647c7aea24e12595d06a949a80ba97219 7to8_H30_V5_VGH1_target.h5
|
329 |
+
216a3c32cf687d8afcdb0509f9b8590a0fc13cc0fde6a24e838c4c9535588b30 7to8_H30_V5_VGH2_channel.h5
|
330 |
+
d38ab48c953f866d0d57fa8d98a44c6647c7aea24e12595d06a949a80ba97219 7to8_H30_V5_VGH2_target.h5
|
331 |
+
6cefb4bdc7dd2f6e75771555951ef4a338ab82949811ce7f94154b348759953c 8to7_H15_V11_VGH0_channel.h5
|
332 |
+
ac4eacf17791e043ac5d634d50a3c1e7663b6fc7ab802feb41ac301cfed2acab 8to7_H15_V11_VGH0_target.h5
|
333 |
+
14a011b650a1bc19b4b10ea14b170c12d3b30ffea253ae98404a3b2f24b80d1e 8to7_H15_V11_VGH1_channel.h5
|
334 |
+
ac4eacf17791e043ac5d634d50a3c1e7663b6fc7ab802feb41ac301cfed2acab 8to7_H15_V11_VGH1_target.h5
|
335 |
+
584d1372b5487fc7f1015f3d2733024e829fb2e89a3712b410db527df43c4b35 8to7_H15_V11_VGH2_channel.h5
|
336 |
+
ac4eacf17791e043ac5d634d50a3c1e7663b6fc7ab802feb41ac301cfed2acab 8to7_H15_V11_VGH2_target.h5
|
337 |
+
beef87bf361007b098519c658574b40f565c24df28a9253d146a22fad082ac07 8to7_H15_V5_VGH0_channel.h5
|
338 |
+
48669e30b7f0a2879c1a45801d04830986619bba49d6d66124232a5b8b0ba61b 8to7_H15_V5_VGH0_target.h5
|
339 |
+
142750d8ea8d8105045bcc0f24575a724f65f19a58793337428abb8b7672885e 8to7_H15_V5_VGH1_channel.h5
|
340 |
+
48669e30b7f0a2879c1a45801d04830986619bba49d6d66124232a5b8b0ba61b 8to7_H15_V5_VGH1_target.h5
|
341 |
+
a9a29df5c607944693af68d21fee3622480dffbbf0ad543e114abe45018739ca 8to7_H15_V5_VGH2_channel.h5
|
342 |
+
48669e30b7f0a2879c1a45801d04830986619bba49d6d66124232a5b8b0ba61b 8to7_H15_V5_VGH2_target.h5
|
343 |
+
c568830003cd61ed9111476221fe63e27bca3ff86e776cd64d75b977b2fcafd5 8to7_H30_V11_VGH0_channel.h5
|
344 |
+
5f13138586d95c75ce55f67cdf4d741c592d93de8f7d6c0b492e0a185298f7b5 8to7_H30_V11_VGH0_target.h5
|
345 |
+
02b37db94bf44fad0534ee003c96e07d381485a6d0f79d2b543fc1ddd593157e 8to7_H30_V11_VGH1_channel.h5
|
346 |
+
5f13138586d95c75ce55f67cdf4d741c592d93de8f7d6c0b492e0a185298f7b5 8to7_H30_V11_VGH1_target.h5
|
347 |
+
b311d047e68f05ccb89ca613c6c05ef82fd7e080f0d89bac745df8faa6ce5298 8to7_H30_V11_VGH2_channel.h5
|
348 |
+
5f13138586d95c75ce55f67cdf4d741c592d93de8f7d6c0b492e0a185298f7b5 8to7_H30_V11_VGH2_target.h5
|
349 |
+
1a60332557516a3870786338bc100dbe22a55eba0e4864928d6ae0b0c2a79685 8to7_H30_V5_VGH0_channel.h5
|
350 |
+
e68660235c00e919050acb286eb68b4e557ffc8bc60a14ed7b6c2f5ddf869085 8to7_H30_V5_VGH0_target.h5
|
351 |
+
be01bfe3597f2e8650d7365f27220cd2c98bd1b8518bcc7e134060de7c5b611e 8to7_H30_V5_VGH1_channel.h5
|
352 |
+
e68660235c00e919050acb286eb68b4e557ffc8bc60a14ed7b6c2f5ddf869085 8to7_H30_V5_VGH1_target.h5
|
353 |
+
b811e4da2ea27de3a6cfeb2bae7884030648c3f4157e85abcba4006cd2a80250 8to7_H30_V5_VGH2_channel.h5
|
354 |
+
e68660235c00e919050acb286eb68b4e557ffc8bc60a14ed7b6c2f5ddf869085 8to7_H30_V5_VGH2_target.h5
|
355 |
+
341d8e35e7e6b95719fff475c7ad60506d506a8351f24ace12e162b3ccf8c584 9to12_H15_V5_VGH0_channel.h5
|
356 |
+
e2045dd2ae6628bbe4df934c96ca4a07813893f38a5b4cb168218659eecfc2e0 9to12_H15_V5_VGH0_target.h5
|
357 |
+
2edffe06bee538698c4f5390f9a13a02605c290bb7f7dd7f84cc232839feb1c5 9to12_H15_V5_VGH1_channel.h5
|
358 |
+
e2045dd2ae6628bbe4df934c96ca4a07813893f38a5b4cb168218659eecfc2e0 9to12_H15_V5_VGH1_target.h5
|
359 |
+
b69034de4db570c227a51679487729e0499b678238ec77e3ea8cbfded323561d 9to12_H15_V5_VGH2_channel.h5
|
360 |
+
e2045dd2ae6628bbe4df934c96ca4a07813893f38a5b4cb168218659eecfc2e0 9to12_H15_V5_VGH2_target.h5
|