/* ============================================================ * * This file is a part of digiKam project * http://www.digikam.org * * Date : 2005-03-27 * Description : a class to calculate filter weights * * Copyright (C) 2005-2006 by Unai Garro * * This program is free software; you can redistribute it * and/or modify it under the terms of the GNU General * Public License as published by the Free Software Foundation; * either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * ============================================================ */ #ifndef WEIGHTS_H #define WEIGHTS_H // TQt includes. #include #include namespace DigikamHotPixelsImagesPlugin { class Weights { public: Weights(){}; Weights(const Weights &w); void operator=(const Weights &w); ~Weights() { if (!mWeightMatrices) return; for (unsigned int i=0; i positions() const { return mPositions; }; protected: int coefficientNumber() const { return mCoefficientNumber; }; double*** weightMatrices() const { return mWeightMatrices; }; private: double polyTerm (const size_t i_coeff, const int x, const int y, const int poly_order); void matrixInv (double *const a, const size_t size); private: unsigned int mHeight,mWidth; unsigned int mCoefficientNumber; bool mTwoDim; unsigned int mPolynomeOrder; double *** mWeightMatrices; //Stores a list of weight matrices TQValueList mPositions; }; } // NameSpace DigikamHotPixelsImagesPlugin #endif // WEIGHTS_H