JuliaImageRecon / RegularizedLeastSquares.jl

MIT License
20 stars 9 forks source link

Standard Kaczmarz not accepting `enforcePositive` and `enforceReal` #80

Closed jonschumacher closed 5 months ago

jonschumacher commented 5 months ago

Due to the interface changes, the standard Kaczmarz not accepting enforcePositive and enforceReal as keyword arguments anymore. The DAXKazmarz still accepts the keyword arguments and adds the regularizers in https://github.com/JuliaImageRecon/RegularizedLeastSquares.jl/blob/94d2bf6277515458b749abad1704c8db5d6aa36b/src/DAXKaczmarz.jl#L74-L79. I would simply go for the same way if it weren't for https://github.com/JuliaImageRecon/RegularizedLeastSquares.jl/blob/94d2bf6277515458b749abad1704c8db5d6aa36b/src/Kaczmarz.jl#L79. Thus I am not sure how to fix this issue.

nHackel commented 5 months ago

The DAX solvers as well as PrimalDual are not up to date.

The keywords have been removed and instead one has to supply the proximal terms for positivity and real number constraints. Kaczmarz accepts currently an arbitrary number of projection terms so those will not run into that error case.

MPIReco translates the respective enforceX kwargs into the proximal maps during the LeastSquares-process call

jonschumacher commented 5 months ago

Thanks for the clarification! For the record: use reg=[L2Regularization(λ), PositiveRegularization()] when creating the solver and it works. I just misunderstood the code.