1 /**
2  * @file tmo_ferradans11.h
3  * Implementation of the algorithm presented in :
4  *
5  * An Analysis of Visual Adaptation and Contrast Perception for Tone Mapping
6  * S. Ferradans, M. Bertalmio, E. Provenzi, V. Caselles
7  * In IEEE Trans. Pattern Analysis and Machine Intelligence
8  *
9 *
10  * @author Sira Ferradans Copyright (C) 2013
11  *
12  *
13  * This file is a part of LuminanceHDR package, based on pfstmo.
14  * ----------------------------------------------------------------------
15  *
16  *  This program is free software; you can redistribute it and/or modify
17  *  it under the terms of the GNU General Public License as published by
18  *  the Free Software Foundation; either version 2 of the License, or
19  *  (at your option) any later version.
20  *
21  *  This program is distributed in the hope that it will be useful,
22  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
23  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24  *  GNU General Public License for more details.
25  *
26  *  You should have received a copy of the GNU General Public License
27  *  along with this program; if not, write to the Free Software
28  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
29  * ----------------------------------------------------------------------
30  *
31  */
32 
33 #ifndef TMO_FERRADANS11_H
34 #define TMO_FERRADANS11_H
35 
36 #include <Libpfs/array2d_fwd.h>
37 #include <cstddef>
38 
39 namespace pfs {
40 class Progress;
41 }
42 
43 //! \brief An Analysis of Visual Adaptation and Contrast Perception for Tone
44 //! Mapping
45 //!
46 //! Implementation of Visual Adaptation and Contrast Perception
47 //! by Sira Farradans
48 //!
49 //! \param width image width
50 //! \param height image height
51 //! \param imR [In/Out] Red   Channel
52 //! \param imG [In/Out] Green Channel
53 //! \param imB [In/Out] Blue  Channel
54 //! \param rho parameter rho (refer to the paper)
55 //! \param inv_alpha parameter inv_alpha (refer to the paper)
56 //!
57 void tmo_ferradans11(pfs::Array2Df &imR, pfs::Array2Df &imG, pfs::Array2Df &imB,
58                      float rho, float invalpha, pfs::Progress &ph);
59 
60 #endif
61