From aa145ff531148ddc4bcf9513543dc996f2853a82 Mon Sep 17 00:00:00 2001 From: Edouard Date: Tue, 9 Jun 2026 18:52:23 -0400 Subject: [PATCH 1/3] Allow to choose the scale used for covariance matrix (wMEM) --- best/wmem/preprocess/be_wdata_preprocessing.m | 7 +------ best/wmem/solver/be_wmem_pipelineoptions.m | 5 +++++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/best/wmem/preprocess/be_wdata_preprocessing.m b/best/wmem/preprocess/be_wdata_preprocessing.m index 0ed3bef..350e053 100644 --- a/best/wmem/preprocess/be_wdata_preprocessing.m +++ b/best/wmem/preprocess/be_wdata_preprocessing.m @@ -185,15 +185,10 @@ case 6 % Scale one which the noise covariance is calculated - if strcmp(OPTIONS.automatic.Modality(ii).name, 'NIRS') - isc = 3; - else - isc = 2; - end + isc = DEF.wavelet.selected_scales_baseline; % Select the wavelet coefficient for scale isc % (exclude the 5 first and last boxes) - w1 = wavelet_obj.data{1}(:,end/2^(isc)+6:end/2^(isc-1)-5)'; % The following code might be more robust but needs to diff --git a/best/wmem/solver/be_wmem_pipelineoptions.m b/best/wmem/solver/be_wmem_pipelineoptions.m index 1b2299f..579d441 100644 --- a/best/wmem/solver/be_wmem_pipelineoptions.m +++ b/best/wmem/solver/be_wmem_pipelineoptions.m @@ -41,6 +41,11 @@ DEF.wavelet.nb_levels = 128; DEF.wavelet.shrinkage = 0; DEF.wavelet.selected_scales = 0; + if any(ismember( 'nirs', lower(DataTypes))) + DEF.wavelet.selected_scales_baseline = 3; + else + DEF.wavelet.selected_scales_baseline = 2; + end DEF.wavelet.verbose = 0; DEF.wavelet.single_box = 0; From 1a37489e664a1bb30c41f8de74991260331c5007 Mon Sep 17 00:00:00 2001 From: Edouard Date: Tue, 9 Jun 2026 18:54:19 -0400 Subject: [PATCH 2/3] use selected_scales_covariance instead --- best/wmem/preprocess/be_wdata_preprocessing.m | 2 +- best/wmem/solver/be_wmem_pipelineoptions.m | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/best/wmem/preprocess/be_wdata_preprocessing.m b/best/wmem/preprocess/be_wdata_preprocessing.m index 350e053..05a5ac2 100644 --- a/best/wmem/preprocess/be_wdata_preprocessing.m +++ b/best/wmem/preprocess/be_wdata_preprocessing.m @@ -185,7 +185,7 @@ case 6 % Scale one which the noise covariance is calculated - isc = DEF.wavelet.selected_scales_baseline; + isc = DEF.wavelet.selected_scales_covariance; % Select the wavelet coefficient for scale isc % (exclude the 5 first and last boxes) diff --git a/best/wmem/solver/be_wmem_pipelineoptions.m b/best/wmem/solver/be_wmem_pipelineoptions.m index 579d441..3a6e3b9 100644 --- a/best/wmem/solver/be_wmem_pipelineoptions.m +++ b/best/wmem/solver/be_wmem_pipelineoptions.m @@ -42,9 +42,9 @@ DEF.wavelet.shrinkage = 0; DEF.wavelet.selected_scales = 0; if any(ismember( 'nirs', lower(DataTypes))) - DEF.wavelet.selected_scales_baseline = 3; + DEF.wavelet.selected_scales_covariance = 3; else - DEF.wavelet.selected_scales_baseline = 2; + DEF.wavelet.selected_scales_covariance = 2; end DEF.wavelet.verbose = 0; DEF.wavelet.single_box = 0; From 6de72e30055cd4387d41e32260d9d5adda7f4396 Mon Sep 17 00:00:00 2001 From: Edouard Date: Tue, 9 Jun 2026 23:18:09 -0400 Subject: [PATCH 3/3] typo --- best/wmem/preprocess/be_wdata_preprocessing.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/best/wmem/preprocess/be_wdata_preprocessing.m b/best/wmem/preprocess/be_wdata_preprocessing.m index 05a5ac2..969e3b5 100644 --- a/best/wmem/preprocess/be_wdata_preprocessing.m +++ b/best/wmem/preprocess/be_wdata_preprocessing.m @@ -185,7 +185,7 @@ case 6 % Scale one which the noise covariance is calculated - isc = DEF.wavelet.selected_scales_covariance; + isc = OPTIONS.wavelet.selected_scales_covariance; % Select the wavelet coefficient for scale isc % (exclude the 5 first and last boxes)