From 4e52517bec801d9deaba31479113bd2242c984c3 Mon Sep 17 00:00:00 2001
From: Pierre-antoine Comby <pierre-antoine.comby@crans.org>
Date: Fri, 9 Feb 2024 08:51:22 +0100
Subject: [PATCH] feat: add scenario3

---
 src/conf/scenario2.yaml |  2 +-
 src/conf/scenario3.yaml | 72 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 73 insertions(+), 1 deletion(-)
 create mode 100644 src/conf/scenario3.yaml

diff --git a/src/conf/scenario2.yaml b/src/conf/scenario2.yaml
index 49e33a7..49d4289 100644
--- a/src/conf/scenario2.yaml
+++ b/src/conf/scenario2.yaml
@@ -35,7 +35,7 @@ handlers:
     n_samples: 25000
     constant: false
     directionz: center-out
-    backend: cufinufft
+    backend: stacked-cufinufft
     n_jobs: 2
 
 reconstructors:
diff --git a/src/conf/scenario3.yaml b/src/conf/scenario3.yaml
new file mode 100644
index 0000000..6be64da
--- /dev/null
+++ b/src/conf/scenario3.yaml
@@ -0,0 +1,72 @@
+# This files contains the configuration to reproduce the scenario 3 of the Simfmri paper.
+# it requires a SPARKLING trajectory.
+
+force_sim: false
+cache_dir: ${oc.env:PWD}/cache
+result_dir: ${oc.env:PWD}/results
+ignore_patterns:
+  - "n_jobs"
+
+sim_params:
+  sim_tr: 0.1
+  sim_time: 300
+  shape: [-1,-1,-1] # shape will be determined with the bbox and the brainweb phantom.
+  fov: [-1,-1,-1]
+  n_coils: 32
+  rng: 19980408
+  lazy: true
+handlers:
+  phantom-brainweb:
+    subject_id: 5
+    bbox: [0.225,-0.07, 0.06, -0.055, null, null]
+    brainweb_folder: ${cache_dir}/brainweb
+    res: [1.0, 1.0, 0.943]
+  activation-block:
+    event_name: block_on
+    block_on: 20
+    block_off: 20
+    duration: 300
+    bold_strength: 0.02
+  noise-gaussian:
+    snr: 100
+  acquisition-generic-noncartesian:
+    shot_time_ms: 20
+    n_jobs: 4
+    traj_files: ${oc.env:PWD}/cache/trajectory/sparkling3d-48-2688x5.bin
+    smaps: true
+    backend: "cufinufft"
+
+reconstructors:
+  sequential:
+    nufft_kwargs:
+      backend_name: cufinufft
+      density: cell_count
+    optimizer: pogm
+    wavelet: sym4
+    threshold: sure
+    max_iter_per_frame: 40
+stats:
+  contrast_name: block_on
+
+
+hydra:
+  job:
+    chdir: true
+
+  run:
+    dir: ${result_dir}/outputs/scenario2/${now:%Y-%m-%d_%H-%M-%S}
+  sweep:
+    dir: ${result_dir}/multirun/scenario2/${now:%Y-%m-%d_%H-%M-%S}
+    subdir: ${hydra.job.num}
+
+  callbacks:
+    gather_files:
+      _target_: hydra_callbacks.MultiRunGatherer
+      aggregator:
+        _partial_: true
+        _target_: snkf.cli.utils.aggregate_results
+
+    latest_run:
+      _target_: hydra_callbacks.LatestRunLink
+      run_base_dir:  ${result_dir}/outputs
+      multirun_base_dir:  ${result_dir}/multirun