Fri, 28 Apr 2023 08:20:51 +0300
Remove deprecated interfaces
Cargo.lock | file | annotate | diff | comparison | revisions | |
src/fb.rs | file | annotate | diff | comparison | revisions | |
src/frank_wolfe.rs | file | annotate | diff | comparison | revisions | |
src/pdps.rs | file | annotate | diff | comparison | revisions | |
src/run.rs | file | annotate | diff | comparison | revisions | |
src/subproblem.rs | file | annotate | diff | comparison | revisions |
--- a/Cargo.lock Fri Apr 28 08:19:05 2023 +0300 +++ b/Cargo.lock Fri Apr 28 08:20:51 2023 +0300 @@ -917,7 +917,7 @@ [[package]] name = "pointsource_algs" -version = "1.0.1" +version = "2.0.0-dev" dependencies = [ "GSL", "alg_tools",
--- a/src/fb.rs Fri Apr 28 08:19:05 2023 +0300 +++ b/src/fb.rs Fri Apr 28 08:20:51 2023 +0300 @@ -1010,73 +1010,3 @@ ), } } - -// -// Deprecated interfaces -// - -#[deprecated(note = "Use `pointsource_fb_reg`")] -pub fn pointsource_fb<'a, F, I, A, GA, 𝒟, BTA, G𝒟, S, K, const N : usize>( - opA : &'a A, - b : &A::Observable, - α : F, - op𝒟 : &'a 𝒟, - config : &FBConfig<F>, - iterator : I, - plotter : SeqPlotter<F, N> -) -> DiscreteMeasure<Loc<F, N>, F> -where F : Float + ToNalgebraRealField, - I : AlgIteratorFactory<IterInfo<F, N>>, - for<'b> &'b A::Observable : std::ops::Neg<Output=A::Observable>, - A::Observable : std::ops::MulAssign<F>, - GA : SupportGenerator<F, N, SupportType = S, Id = usize> + Clone, - A : ForwardModel<Loc<F, N>, F, PreadjointCodomain = BTFN<F, GA, BTA, N>> - + Lipschitz<𝒟, FloatType=F>, - BTA : BTSearch<F, N, Data=usize, Agg=Bounds<F>>, - G𝒟 : SupportGenerator<F, N, SupportType = K, Id = usize> + Clone, - 𝒟 : DiscreteMeasureOp<Loc<F, N>, F, PreCodomain = PreBTFN<F, G𝒟, N>>, - 𝒟::Codomain : RealMapping<F, N>, - S: RealMapping<F, N> + LocalAnalysis<F, Bounds<F>, N>, - K: RealMapping<F, N> + LocalAnalysis<F, Bounds<F>, N>, - BTNodeLookup: BTNode<F, usize, Bounds<F>, N>, - Cube<F, N>: P2Minimise<Loc<F, N>, F>, - PlotLookup : Plotting<N>, - DiscreteMeasure<Loc<F, N>, F> : SpikeMerging<F> { - - pointsource_fb_reg(opA, b, NonnegRadonRegTerm(α), op𝒟, config, iterator, plotter) -} - - -#[deprecated(note = "Use `generic_pointsource_fb_reg`")] -pub fn generic_pointsource_fb<'a, F, I, A, GA, 𝒟, BTA, G𝒟, S, K, Spec, const N : usize>( - opA : &'a A, - α : F, - op𝒟 : &'a 𝒟, - τ : F, - config : &FBGenericConfig<F>, - iterator : I, - plotter : SeqPlotter<F, N>, - residual : A::Observable, - specialisation : Spec, -) -> DiscreteMeasure<Loc<F, N>, F> -where F : Float + ToNalgebraRealField, - I : AlgIteratorFactory<IterInfo<F, N>>, - Spec : FBSpecialisation<F, A::Observable, N>, - A::Observable : std::ops::MulAssign<F>, - GA : SupportGenerator<F, N, SupportType = S, Id = usize> + Clone, - A : ForwardModel<Loc<F, N>, F, PreadjointCodomain = BTFN<F, GA, BTA, N>> - + Lipschitz<𝒟, FloatType=F>, - BTA : BTSearch<F, N, Data=usize, Agg=Bounds<F>>, - G𝒟 : SupportGenerator<F, N, SupportType = K, Id = usize> + Clone, - 𝒟 : DiscreteMeasureOp<Loc<F, N>, F, PreCodomain = PreBTFN<F, G𝒟, N>>, - 𝒟::Codomain : RealMapping<F, N>, - S: RealMapping<F, N> + LocalAnalysis<F, Bounds<F>, N>, - K: RealMapping<F, N> + LocalAnalysis<F, Bounds<F>, N>, - BTNodeLookup: BTNode<F, usize, Bounds<F>, N>, - Cube<F, N>: P2Minimise<Loc<F, N>, F>, - PlotLookup : Plotting<N>, - DiscreteMeasure<Loc<F, N>, F> : SpikeMerging<F> { - - generic_pointsource_fb_reg(opA, NonnegRadonRegTerm(α), op𝒟, τ, config, iterator, plotter, - residual, specialisation) -}
--- a/src/frank_wolfe.rs Fri Apr 28 08:19:05 2023 +0300 +++ b/src/frank_wolfe.rs Fri Apr 28 08:20:51 2023 +0300 @@ -524,51 +524,3 @@ // Return final iterate μ } - -// -// Deprecated interface -// - -#[deprecated(note = "Use `pointsource_fw_reg`")] -pub fn pointsource_fw<'a, F, I, A, GA, BTA, S, const N : usize>( - opA : &'a A, - b : &A::Observable, - α : F, - //domain : Cube<F, N>, - config : &FWConfig<F>, - iterator : I, - plotter : SeqPlotter<F, N>, -) -> DiscreteMeasure<Loc<F, N>, F> -where F : Float + ToNalgebraRealField, - I : AlgIteratorFactory<IterInfo<F, N>>, - for<'b> &'b A::Observable : std::ops::Neg<Output=A::Observable>, - //+ std::ops::Mul<F, Output=A::Observable>, <-- FIXME: compiler overflow - A::Observable : std::ops::MulAssign<F>, - GA : SupportGenerator<F, N, SupportType = S, Id = usize> + Clone, - A : ForwardModel<Loc<F, N>, F, PreadjointCodomain = BTFN<F, GA, BTA, N>>, - BTA : BTSearch<F, N, Data=usize, Agg=Bounds<F>>, - S: RealMapping<F, N> + LocalAnalysis<F, Bounds<F>, N>, - BTNodeLookup: BTNode<F, usize, Bounds<F>, N>, - Cube<F, N>: P2Minimise<Loc<F, N>, F>, - PlotLookup : Plotting<N>, - DiscreteMeasure<Loc<F, N>, F> : SpikeMerging<F> { - - pointsource_fw_reg(opA, b, NonnegRadonRegTerm(α), config, iterator, plotter) -} - -#[deprecated(note = "Use `WeightOptim::optimise_weights`")] -pub fn optimise_weights<'a, F, A, I, const N : usize>( - μ : &mut DiscreteMeasure<Loc<F, N>, F>, - opA : &'a A, - b : &A::Observable, - α : F, - findim_data : &FindimData<F>, - inner : &InnerSettings<F>, - iterator : I -) -> usize -where F : Float + ToNalgebraRealField, - I : AlgIteratorFactory<F>, - A : ForwardModel<Loc<F, N>, F> -{ - NonnegRadonRegTerm(α).optimise_weights(μ, opA, b, findim_data, inner, iterator) -}
--- a/src/pdps.rs Fri Apr 28 08:19:05 2023 +0300 +++ b/src/pdps.rs Fri Apr 28 08:20:51 2023 +0300 @@ -49,7 +49,6 @@ use clap::ValueEnum; use alg_tools::iterate:: AlgIteratorFactory; -use alg_tools::sets::Cube; use alg_tools::loc::Loc; use alg_tools::euclidean::Euclidean; use alg_tools::norms::{ @@ -63,7 +62,6 @@ BTNodeLookup, BTNode, BTSearch, - P2Minimise, SupportGenerator, LocalAnalysis, }; @@ -91,7 +89,6 @@ generic_pointsource_fb_reg, RegTerm, }; -use crate::regularisation::NonnegRadonRegTerm; /// Acceleration #[derive(Clone, Copy, Eq, PartialEq, Serialize, Deserialize, ValueEnum, Debug)] @@ -356,41 +353,3 @@ ) } -// -// Deprecated interfaces -// - -#[deprecated(note = "Use `pointsource_pdps_reg`")] -pub fn pointsource_pdps<'a, F, I, A, GA, 𝒟, BTA, G𝒟, S, K, D, const N : usize>( - opA : &'a A, - b : &'a A::Observable, - α : F, - op𝒟 : &'a 𝒟, - config : &PDPSConfig<F>, - iterator : I, - plotter : SeqPlotter<F, N>, - dataterm : D, -) -> DiscreteMeasure<Loc<F, N>, F> -where F : Float + ToNalgebraRealField, - I : AlgIteratorFactory<IterInfo<F, N>>, - for<'b> &'b A::Observable : std::ops::Neg<Output=A::Observable> - + std::ops::Add<A::Observable, Output=A::Observable>, - A::Observable : std::ops::MulAssign<F>, - GA : SupportGenerator<F, N, SupportType = S, Id = usize> + Clone, - A : ForwardModel<Loc<F, N>, F, PreadjointCodomain = BTFN<F, GA, BTA, N>> - + Lipschitz<𝒟, FloatType=F>, - BTA : BTSearch<F, N, Data=usize, Agg=Bounds<F>>, - G𝒟 : SupportGenerator<F, N, SupportType = K, Id = usize> + Clone, - 𝒟 : DiscreteMeasureOp<Loc<F, N>, F, PreCodomain = PreBTFN<F, G𝒟, N>>, - 𝒟::Codomain : RealMapping<F, N>, - S: RealMapping<F, N> + LocalAnalysis<F, Bounds<F>, N>, - K: RealMapping<F, N> + LocalAnalysis<F, Bounds<F>, N>, - BTNodeLookup: BTNode<F, usize, Bounds<F>, N>, - Cube<F, N>: P2Minimise<Loc<F, N>, F>, - PlotLookup : Plotting<N>, - DiscreteMeasure<Loc<F, N>, F> : SpikeMerging<F>, - PDPS<'a, F, A, D, N> : FBSpecialisation<F, A::Observable, N>, - D : Subdifferentiable<F, A::Observable> { - - pointsource_pdps_reg(opA, b, NonnegRadonRegTerm(α), op𝒟, config, iterator, plotter, dataterm) -}
--- a/src/run.rs Fri Apr 28 08:19:05 2023 +0300 +++ b/src/run.rs Fri Apr 28 08:20:51 2023 +0300 @@ -367,7 +367,6 @@ .. } } = self; - #[allow(deprecated)] let regularisation = $reg_convert(self.data.$reg_field); println!("{}\n{}", @@ -655,47 +654,3 @@ opA.write_observable(&b_hat, pfx("b_hat"))?; opA.write_observable(&b, pfx("b_noisy")) } - -// -// Deprecated interface -// - -/// Struct for experiment configurations -#[derive(Debug, Clone, Serialize)] -pub struct Experiment<F, NoiseDistr, S, K, P, const N : usize> -where F : Float, - [usize; N] : Serialize, - NoiseDistr : Distribution<F>, - S : Sensor<F, N>, - P : Spread<F, N>, - K : SimpleConvolutionKernel<F, N>, -{ - /// Domain $Ω$. - pub domain : Cube<F, N>, - /// Number of sensors along each dimension - pub sensor_count : [usize; N], - /// Noise distribution - pub noise_distr : NoiseDistr, - /// Seed for random noise generation (for repeatable experiments) - pub noise_seed : u64, - /// Sensor $θ$; $θ * ψ$ forms the forward operator $𝒜$. - pub sensor : S, - /// Spread $ψ$; $θ * ψ$ forms the forward operator $𝒜$. - pub spread : P, - /// Kernel $ρ$ of $𝒟$. - pub kernel : K, - /// True point sources - pub μ_hat : DiscreteMeasure<Loc<F, N>, F>, - /// Regularisation parameter - #[deprecated(note = "Use [`ExperimentV2`], which replaces `α` by more generic `regularisation`")] - pub α : F, - /// For plotting : how wide should the kernels be plotted - pub kernel_plot_width : F, - /// Data term - pub dataterm : DataTerm, - /// A map of default configurations for algorithms - #[serde(skip)] - pub algorithm_defaults : HashMap<DefaultAlgorithm, AlgorithmConfig<F>>, -} - -impl_experiment!(Experiment, α, Regularisation::NonnegRadon);
--- a/src/subproblem.rs Fri Apr 28 08:19:05 2023 +0300 +++ b/src/subproblem.rs Fri Apr 28 08:20:51 2023 +0300 @@ -15,13 +15,6 @@ pub mod nonneg; pub mod unconstrained; -#[deprecated(since = "1.0.1", note = "Moved to submodule nonneg")] -pub use nonneg::{ - quadratic_nonneg, - quadratic_nonneg_ssn, - quadratic_nonneg_fb -}; - /// Method for solving finite-dimensional subproblems #[derive(Clone, Copy, Eq, PartialEq, Serialize, Deserialize, Debug)] #[allow(dead_code)]