From 581568de456b3637dc52576225ae9f9bc3240e2f Mon Sep 17 00:00:00 2001 From: dldou <99049494+dldou@users.noreply.github.com> Date: Mon, 31 Aug 2026 18:10:47 +0200 Subject: [PATCH 1/4] a_dagger first commit for pr --- .../benchmarks/nbu_pansharpening/a_dagger.py | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 deepinv_bench/benchmarks/nbu_pansharpening/a_dagger.py diff --git a/deepinv_bench/benchmarks/nbu_pansharpening/a_dagger.py b/deepinv_bench/benchmarks/nbu_pansharpening/a_dagger.py new file mode 100644 index 0000000..4c389d6 --- /dev/null +++ b/deepinv_bench/benchmarks/nbu_pansharpening/a_dagger.py @@ -0,0 +1,22 @@ +from benchopt import BaseSolver + +import torch +import deepinv as dinv + + +class Solver(BaseSolver): + name = "A_dagger" + + parameters = {} + + def set_objective(self, train_dataset=None, physics=None): + device = dinv.utils.get_freer_gpu() if torch.cuda.is_available() else "cpu" + + self.model = dinv.models.Pansharpen.A_dagger(device=device) + self.model.device = device + + def run(self, _): + pass + + def get_result(self): + return dict(model=self.model) From 8788ef3ada17010a85d164c625bf317471aaf52c Mon Sep 17 00:00:00 2001 From: dldou <99049494+dldou@users.noreply.github.com> Date: Tue, 1 Sep 2026 05:48:19 +0200 Subject: [PATCH 2/4] first proposition for brovey operator on pansharpening --- .../nbu_pansharpening/{a_dagger.py => brovey.py} | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) rename deepinv_bench/benchmarks/nbu_pansharpening/{a_dagger.py => brovey.py} (69%) diff --git a/deepinv_bench/benchmarks/nbu_pansharpening/a_dagger.py b/deepinv_bench/benchmarks/nbu_pansharpening/brovey.py similarity index 69% rename from deepinv_bench/benchmarks/nbu_pansharpening/a_dagger.py rename to deepinv_bench/benchmarks/nbu_pansharpening/brovey.py index 4c389d6..8c239e4 100644 --- a/deepinv_bench/benchmarks/nbu_pansharpening/a_dagger.py +++ b/deepinv_bench/benchmarks/nbu_pansharpening/brovey.py @@ -4,15 +4,20 @@ import deepinv as dinv +class Brovey(dinv.models.Reconstructor): + def forward(self, y, physics): + return physics.A_dagger(y) + + class Solver(BaseSolver): - name = "A_dagger" + name = "Brovey" parameters = {} def set_objective(self, train_dataset=None, physics=None): device = dinv.utils.get_freer_gpu() if torch.cuda.is_available() else "cpu" - self.model = dinv.models.Pansharpen.A_dagger(device=device) + self.model = Brovey().to(device) self.model.device = device def run(self, _): From 49dbaca6bfb3668cbd42123c85aab6c1b850cc39 Mon Sep 17 00:00:00 2001 From: dldou <99049494+dldou@users.noreply.github.com> Date: Tue, 1 Sep 2026 05:56:26 +0200 Subject: [PATCH 3/4] reorganize for benchopt --- .../nbu_pansharpening/solvers/brovey.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 deepinv_bench/benchmarks/nbu_pansharpening/solvers/brovey.py diff --git a/deepinv_bench/benchmarks/nbu_pansharpening/solvers/brovey.py b/deepinv_bench/benchmarks/nbu_pansharpening/solvers/brovey.py new file mode 100644 index 0000000..8c239e4 --- /dev/null +++ b/deepinv_bench/benchmarks/nbu_pansharpening/solvers/brovey.py @@ -0,0 +1,27 @@ +from benchopt import BaseSolver + +import torch +import deepinv as dinv + + +class Brovey(dinv.models.Reconstructor): + def forward(self, y, physics): + return physics.A_dagger(y) + + +class Solver(BaseSolver): + name = "Brovey" + + parameters = {} + + def set_objective(self, train_dataset=None, physics=None): + device = dinv.utils.get_freer_gpu() if torch.cuda.is_available() else "cpu" + + self.model = Brovey().to(device) + self.model.device = device + + def run(self, _): + pass + + def get_result(self): + return dict(model=self.model) From cf8b13828a181c1990b5f230ff237cd3d415e5a7 Mon Sep 17 00:00:00 2001 From: dldou <99049494+dldou@users.noreply.github.com> Date: Wed, 2 Sep 2026 12:14:24 +0200 Subject: [PATCH 4/4] remove duplicated file --- .../benchmarks/nbu_pansharpening/brovey.py | 27 ------------------- 1 file changed, 27 deletions(-) delete mode 100644 deepinv_bench/benchmarks/nbu_pansharpening/brovey.py diff --git a/deepinv_bench/benchmarks/nbu_pansharpening/brovey.py b/deepinv_bench/benchmarks/nbu_pansharpening/brovey.py deleted file mode 100644 index 8c239e4..0000000 --- a/deepinv_bench/benchmarks/nbu_pansharpening/brovey.py +++ /dev/null @@ -1,27 +0,0 @@ -from benchopt import BaseSolver - -import torch -import deepinv as dinv - - -class Brovey(dinv.models.Reconstructor): - def forward(self, y, physics): - return physics.A_dagger(y) - - -class Solver(BaseSolver): - name = "Brovey" - - parameters = {} - - def set_objective(self, train_dataset=None, physics=None): - device = dinv.utils.get_freer_gpu() if torch.cuda.is_available() else "cpu" - - self.model = Brovey().to(device) - self.model.device = device - - def run(self, _): - pass - - def get_result(self): - return dict(model=self.model)