libeblearngui
/home/rex/ebltrunk/tools/libeblearngui/include/ebl_normalization_gui.h
00001 /***************************************************************************
00002  *   Copyright (C) 2009 by Pierre Sermanet *
00003  *   pierre.sermanet@gmail.com *
00004  *   All rights reserved.
00005  *
00006  * Redistribution and use in source and binary forms, with or without
00007  * modification, are permitted provided that the following conditions are met:
00008  *     * Redistributions of source code must retain the above copyright
00009  *       notice, this list of conditions and the following disclaimer.
00010  *     * Redistributions in binary form must reproduce the above copyright
00011  *       notice, this list of conditions and the following disclaimer in the
00012  *       documentation and/or other materials provided with the distribution.
00013  *     * Redistribution under a license not approved by the Open Source
00014  *       Initiative (http://www.opensource.org) must display the
00015  *       following acknowledgement in all advertising material:
00016  *        This product includes software developed at the Courant
00017  *        Institute of Mathematical Sciences (http://cims.nyu.edu).
00018  *     * The names of the authors may not be used to endorse or promote products
00019  *       derived from this software without specific prior written permission.
00020  *
00021  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
00022  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
00023  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00024  * DISCLAIMED. IN NO EVENT SHALL ThE AUTHORS BE LIABLE FOR ANY
00025  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
00026  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
00027  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
00028  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00029  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
00030  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  ***************************************************************************/
00032 
00033 #ifndef EBL_NORMALIZATION_GUI_H_
00034 #define EBL_NORMALIZATION_GUI_H_
00035 
00036 #include "libidxgui.h"
00037 #include "ebl_normalization.h"
00038 
00039 namespace ebl {
00040 
00042 
00043   class contrast_norm_module_gui {
00044   public:
00045     contrast_norm_module_gui();
00046     virtual ~contrast_norm_module_gui();
00047 
00048     template <typename T, class Tstate>
00049       static void display_fprop(contrast_norm_module<T,Tstate> &m,
00050                                 Tstate &in, Tstate &out,
00051                                 unsigned int &h0, unsigned int &w0, double zoom,
00052                                 T vmin = 0, T vmax = 0,
00053                                 bool show_out = false, bool run = true);
00054 
00055     template <typename T, class Tstate>
00056       static void display_bprop(contrast_norm_module<T,Tstate> &m,
00057                                 Tstate &in, Tstate &out,
00058                                 unsigned int &h0, unsigned int &w0, double zoom,
00059                                 T vmin = 0, T vmax = 0,
00060                                 bool show_out = false, bool run = true);
00061 
00062     template <typename T, class Tstate>
00063       static void display_bbprop(contrast_norm_module<T,Tstate> &m,
00064                                  Tstate &in, Tstate &out,
00065                                  unsigned int &h0, unsigned int &w0,
00066                                  double zoom,
00067                                  T vmin = 0, T vmax = 0,
00068                                  bool show_out = false, bool run = true);
00069   };
00070 
00071 } // namespace ebl {
00072 
00073 #include "ebl_normalization_gui.hpp"
00074 
00075 #endif /* EBL_NORMALIZATION_GUI_H_ */