Skip to content

Commit 4988f35

Browse files
committed
Laplace filter positive-definite and with squared regulator
1 parent 89b540d commit 4988f35

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

lib/LatAnalyze/Physics/DataFilter.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,18 +66,18 @@ void DataFilter::operator()(DMat &out, const DMat &in)
6666
******************************************************************************/
6767
// constructor ////////////////////////////////////////////////////////////////
6868
LaplaceDataFilter::LaplaceDataFilter(const bool downsample)
69-
: DataFilter({1., -2. , 1.}, downsample)
69+
: DataFilter({-1., 2. , -1.}, downsample)
7070
{}
7171

7272
// filtering //////////////////////////////////////////////////////////////////
7373
void LaplaceDataFilter::operator()(DVec &out, const DVec &in, const double lambda)
7474
{
75-
filter_[1] = -2. - lambda;
75+
filter_[1] = 2. + Math::pow<2>(lambda);
7676
DataFilter::operator()(out, in);
7777
}
7878

7979
void LaplaceDataFilter::operator()(DMat &out, const DMat &in, const double lambda)
8080
{
81-
filter_[1] = -2. - lambda;
81+
filter_[1] = 2. + Math::pow<2>(lambda);
8282
DataFilter::operator()(out, in);
8383
}

lib/LatAnalyze/Physics/DataFilter.hpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ class LaplaceDataFilter: public DataFilter
7070
template <typename MatType, Index o>
7171
double optimiseFunction(const StatArray<MatType, o> &data,
7272
ObjectiveFunction<MatType, o> &fn,
73-
Minimizer &min, const unsigned int nPass = 3);
73+
Minimizer &min);
7474
};
7575

7676
/******************************************************************************
@@ -104,8 +104,7 @@ void LaplaceDataFilter::operator()(StatArray<MatType, o> &out,
104104
template <typename MatType, Index o>
105105
double LaplaceDataFilter::optimiseFunction(const StatArray<MatType, o> &data,
106106
ObjectiveFunction<MatType, o> &fn,
107-
Minimizer &min,
108-
const unsigned int nPass)
107+
Minimizer &min)
109108
{
110109
StatArray<MatType, o> fdata(data.size());
111110
DVec init(1);

0 commit comments

Comments
 (0)