function results = run_dataset_smoke_tests(varargin)
p = inputParser;
addParameter(p, 'url', 'https://www.ustb.no/datasets', @(s) ischar(s) || isstring(s));
addParameter(p, 'plot', false, @islogical);
addParameter(p, 'stop_on_error', false, @islogical);
parse(p, varargin{:});
base_url = char(p.Results.url);
if endsWith(base_url, '/')
base_url = base_url(1:end-1);
end
want_plot = p.Results.plot;
stop_on_error = p.Results.stop_on_error;
local_path = data_path();
if local_path(end) ~= filesep
local_path = [local_path filesep];
end
T = uff_dataset_registry();
n = numel(T);
results = repmat(struct('filename', '', 'ok', false, 'message', '', 'note', ''), n, 1);
fprintf('Dataset smoke tests: %d registered file(s), data_path=%s\n', n, local_path);
for i = 1:n
fn = T(i).filename;
results(i).filename = fn;
results(i).note = T(i).note;
try
tools.download(fn, base_url, local_path);
catch ME
results(i).message = ['Download failed: ' ME.message];
fprintf('[FAIL] %s — %s\n', fn, results(i).message);
if stop_on_error
return
else
continue
end
end
uff_file = fullfile(local_path, fn);
R = simple_process_dataset(uff_file, 'channel_h5', T(i).channel_h5, ...
'mode', T(i).mode, 'plot', want_plot);
results(i).ok = R.ok;
results(i).message = R.message;
if R.ok
fprintf('[ OK ] %s — %s\n', fn, R.message);
else
fprintf('[FAIL] %s — %s\n', fn, R.message);
if stop_on_error
return
end
end
end
n_ok = sum([results.ok]);
fprintf('Finished: %d / %d succeeded.\n', n_ok, n);
end
Dataset smoke tests: 33 registered file(s), data_path=C:\Repositories\ustb\data\
UFF: reading channel_data [uff.channel_data]
UFF: reading sequence [uff.wave] [====================] 100%
USTB MEX C beamformer...Completed in 0.04 seconds.
[ OK ] Verasonics_P2-4_parasternal_long_small.uff — OK, max(abs(image))=314365
UFF: reading channel_data [uff.channel_data]
UFF: reading sequence [uff.wave] [====================] 100%
USTB MEX C beamformer...Completed in 0.16 seconds.
[ OK ] L7_FI_IUS2018.uff — OK, max(abs(image))=54700.2
UFF: reading channel_data [uff.channel_data]
UFF: reading sequence [uff.wave] [====================] 100%
USTB MEX C beamformer...Completed in 1.11 seconds.
[ OK ] L7_CPWC_193328.uff — OK, max(abs(image))=1.66969e+07
UFF: reading channel_data [uff.channel_data]
UFF: reading sequence [uff.wave] [====================] 100%
Warning: You just deleted all frames except frames 1 to 1, I hope you meant to!
USTB MEX C beamformer...Completed in 0.16 seconds.
[ OK ] L7_CPWC_TheGB.uff — OK, max(abs(image))=70715.7
UFF: reading channel_data [uff.channel_data]
UFF: reading sequence [uff.wave] [====================] 100%
USTB MEX C beamformer...Completed in 0.11 seconds.
[ OK ] Alpinion_L3-8_FI_hyperechoic_scatterers.uff — OK, max(abs(image))=29305.7
UFF: reading channel_data [uff.channel_data]
UFF: reading sequence [uff.wave] [====================] 100%
USTB MEX C beamformer...Completed in 0.75 seconds.
[ OK ] Alpinion_L3-8_FI_hypoechoic.uff — OK, max(abs(image))=208384
UFF: reading channel_data [uff.channel_data]
UFF: reading sequence [uff.wave] [====================] 100%
USTB MEX C beamformer...Completed in 1.66 seconds.
[ OK ] Alpinion_L3-8_CPWC_hyperechoic_scatterers.uff — OK, max(abs(image))=534420
UFF: reading channel_data_speckle [uff.channel_data]
UFF: reading sequence [uff.wave] [====================] 100%
Warning: The modulation frequency is not specified. The estimated central
frequency will be used.
Estimating power spectrum
Warning: The downsampling frequency is not specified. Using 2 *
modulation_frequency.
Warning: The input sample frequency is not a multiple of the specified
downsample frequency. Rounding up the downsample frequency to the next higher
downsample frequency.
Low-pass filtering
USTB MEX C beamformer...Completed in 5.44 seconds.
[ OK ] FieldII_STAI_uniform_fov.uff — OK, max(abs(image))=2.15814
UFF: reading channel_data [uff.channel_data]
UFF: reading sequence [uff.wave] [====================] 100%
USTB MEX C beamformer...Completed in 15.41 seconds.
[ OK ] FieldII_STAI_dynamic_range.uff — OK, max(abs(image))=3.36481e-05
UFF: reading channel_data [uff.channel_data]
USTB MEX C beamformer...Completed in 2.52 seconds.
[ OK ] ARFI_dataset.uff — OK, max(abs(image))=41211.7
UFF: reading channel_data [uff.channel_data]
UFF: reading sequence [uff.wave] [====================] 100%
USTB MEX C beamformer...Completed in 3.53 seconds.
[ OK ] PICMUS_experiment_resolution_distortion.uff — OK, max(abs(image))=62.3832
UFF: reading channel_data [uff.channel_data]
UFF: reading sequence [uff.wave] [====================] 100%
USTB MEX C beamformer...Completed in 3.10 seconds.
[ OK ] PICMUS_simulation_resolution_distortion.uff — OK, max(abs(image))=907.644
UFF: reading channel_data [uff.channel_data]
UFF: reading sequence [uff.wave] [====================] 100%
USTB MEX C beamformer...Completed in 3.49 seconds.
[ OK ] PICMUS_experiment_contrast_speckle.uff — OK, max(abs(image))=27.6324
UFF: reading channel_data [uff.channel_data]
UFF: reading sequence [uff.wave] [====================] 100%
USTB MEX C beamformer...Completed in 3.12 seconds.
[ OK ] PICMUS_simulation_contrast_speckle.uff — OK, max(abs(image))=67.285
UFF: reading channel_data [uff.channel_data]
UFF: reading sequence [uff.wave] [====================] 100%
USTB MEX C beamformer...Completed in 3.47 seconds.
[ OK ] PICMUS_carotid_cross.uff — OK, max(abs(image))=337.789
USTB download tool
File: Verasonics_P2-4_parasternal_long_subject_1.uff
URL: https://www.ustb.no/datasets/Verasonics_P2-4_paras
ternal_long_subject_1.uff
Path: C:\Repositories\ustb\data\
[FAIL] Verasonics_P2-4_parasternal_long_subject_1.uff — Download failed: The HTTP request failed with error 404
UFF: reading ./channel_data [uff.channel_data]
UFF: reading sequence [uff.wave] [====================] 100%
USTB MEX C beamformer...Completed in 0.09 seconds.
[ OK ] FieldII_P4_point_scatterers.uff — OK, max(abs(image))=26.8669
UFF: reading channel_data [uff.channel_data]
UFF: reading sequence [uff.wave] [====================] 100%
Warning: The downsampling frequency is not specified. Using 2 *
modulation_frequency.
Warning: The input sample frequency is not a multiple of the specified
downsample frequency. Rounding up the downsample frequency to the next higher
downsample frequency.
Band-pass filtering
Low-pass filtering
USTB MEX C beamformer...Completed in 11.83 seconds.
[ OK ] experimental_STAI_dynamic_range.uff — OK, max(abs(image))=175.21
USTB download tool
File: FieldII_STAI_axial_gradient_v2.uff
URL: https://www.ustb.no/datasets/FieldII_STAI_axial_gr
adient_v2.uff
Path: C:\Repositories\ustb\data\
[FAIL] FieldII_STAI_axial_gradient_v2.uff — Download failed: The HTTP request failed with error 404
USTB download tool
File: FieldII_STAI_gradient_full_field_100.uff
URL: https://www.ustb.no/datasets/FieldII_STAI_gradient
_full_field_100.uff
Path: C:\Repositories\ustb\data\
[FAIL] FieldII_STAI_gradient_full_field_100.uff — Download failed: The HTTP request failed with error 404
UFF: reading channel_data [uff.channel_data]
UFF: reading sequence [uff.wave] [====================] 100%
Warning: You just deleted all frames except frames 1 to 1, I hope you meant to!
USTB MEX C beamformer...Completed in 0.04 seconds.
[ OK ] P4_FI_121444_45mm_focus.uff — OK, max(abs(image))=261066
UFF: reading channel_data [uff.channel_data]
UFF: reading sequence [uff.wave] [====================] 100%
USTB MEX C beamformer...Completed in 6.61 seconds.
[ OK ] FieldII_speckle_simulation.uff — OK, max(abs(image))=1301.18
USTB download tool
File: test02.uff
URL: https://www.ustb.no/datasets/test02.uff
Path: C:\Repositories\ustb\data\
[FAIL] test02.uff — Download failed: The HTTP request failed with error 404
UFF: reading channel_data [uff.channel_data]
UFF: reading sequence [uff.wave] [====================] 100%
USTB MEX C beamformer...Completed in 0.61 seconds.
[ OK ] speckle_sim_FI_P4_probe_apod_3_speckle_long_many_angles.uff — OK, max(abs(image))=63.0809
UFF: reading /channel_data [uff.channel_data]
UFF: reading sequence [uff.wave] [====================] 100%
USTB MEX C beamformer...Completed in 0.11 seconds.
[ OK ] L7_FI_Verasonics_CIRS_points.uff — OK, max(abs(image))=49183.8
UFF: reading channel_data [uff.channel_data]
UFF: reading sequence [uff.wave] [====================] 100%
USTB MEX C beamformer...Completed in 0.33 seconds.
[ OK ] L7_FI_carotid_cross_sub_2.uff — OK, max(abs(image))=72218.6
UFF: reading /mix [uff.channel_data]
UFF: reading sequence [uff.wave] [====================] 100%
USTB MEX C beamformer...Completed in 19.07 seconds.
[ OK ] invitro_20.uff — OK, max(abs(image))=7354.69
USTB download tool
File: insilico_side_100_M45.uff
URL: https://www.ustb.no/datasets/insilico_side_100_M45
.uff
Path: C:\Repositories\ustb\data\
Downloading 6556 / 6556 MB...done!
[FAIL] insilico_side_100_M45.uff — Download failed: The error "Error saving to local data stream." occurred while communicating with URL 'https://www.ustb.no/datasets/insilico_side_100_M45.uff'.
USTB download tool
File: insilico_20.uff
URL: https://www.ustb.no/datasets/insilico_20.uff
Path: C:\Repositories\ustb\data\
[FAIL] insilico_20.uff — Download failed: The HTTP request failed with error 404
UFF: reading channel_data [uff.channel_data]
USTB MEX C beamformer...Completed in 0.16 seconds.
[ OK ] FieldII_CPWC_point_scatterers_res_v2.uff — OK, max(abs(image))=109.458
USTB download tool
File: P4_FI.uff
URL: https://www.ustb.no/datasets/P4_FI.uff
Path: C:\Repositories\ustb\data\
[FAIL] P4_FI.uff — Download failed: The HTTP request failed with error 404
UFF: reading b_data_das [uff.beamformed_data]
[ OK ] beamformed_simulated_data.uff — OK, max(abs(image))=6.40137e+09
UFF: reading b_data_das [uff.beamformed_data]
[ OK ] beamformed_experimental_data.uff — OK, max(abs(image))=1.74166e+06
Finished: 26 / 33 succeeded.
ans =
33×1 struct array with fields:
filename
ok
message
note