eLynx SDK
v3.0.1 C++ image processing API reference |
00001 //============================================================================ 00002 // IImageGlobalProcessing.h Image.Component package 00003 //============================================================================ 00004 // Usage : interface for basic global to point image processing 00005 // 00006 // http://www.ph.tn.tudelft.nl/Courses/FIP/noframes/fip-Characte.html 00007 // 00008 //---------------------------------------------------------------------------- 00009 // Copyright (C) 2006 by eLynx project 00010 // 00011 // This library is free software; you can redistribute it and/or 00012 // modify it under the terms of the GNU Library General Public 00013 // License as published by the Free Software Foundation; either 00014 // version 2 of the License, or (at your option) any later version. 00015 // 00016 // This library is distributed in the hope that it will be useful, 00017 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00019 // See the GNU Library General Public License for more details. 00020 //---------------------------------------------------------------------------- 00021 #ifndef __IImageGlobalProcessing_h__ 00022 #define __IImageGlobalProcessing_h__ 00023 00024 #include "elx/image/ImageLib.h" 00025 #include <elx/image/ImageCommon.h> 00026 #include "elx/image/IImagePSF.h" 00027 #include <elx/core/ProgressNotifier.h> 00028 00029 namespace eLynx { 00030 namespace Image { 00031 00032 // Forward declaration 00033 class AbstractImage; 00034 00039 00040 class ExportedByImage IImageGlobalProcessing 00041 { 00042 public: 00043 virtual ~IImageGlobalProcessing(); 00044 00050 virtual bool Normalize(AbstractImage& ioImage, 00051 uint32 iChannelMask, ProgressNotifier& iNotifier) const = 0; 00052 00058 virtual bool EqualizeHistogram(AbstractImage& ioImage, 00059 uint32 iChannelMask, ProgressNotifier& iNotifier) const = 0; 00060 00066 virtual bool AutoBrightness(AbstractImage& ioImage, 00067 uint32 iChannelMask, ProgressNotifier& iNotifier) const = 0; 00068 00074 virtual bool AutoContrast(AbstractImage& ioImage, 00075 uint32 iChannelMask, ProgressNotifier& iNotifier) const = 0; 00076 00082 virtual bool AutoColor(AbstractImage& ioImage, 00083 uint32 iChannelMask, ProgressNotifier& iNotifier) const = 0; 00084 00090 virtual bool AutoBalance(AbstractImage& ioImage, 00091 uint32 iChannelMask, ProgressNotifier& iNotifier) const = 0; 00092 00102 virtual bool DeconvolveRL(AbstractImage& ioImage, 00103 const IImagePSF &iPSF, uint32 iIterations, EBorderFill iBorder, 00104 uint32 iChannelMask, ProgressNotifier& iNotifier) const = 0; 00105 00106 virtual bool ApplyFFT(AbstractImage& ioImage, 00107 const AbstractImage& iFilter, 00108 uint32 iChannelMask, ProgressNotifier& iNotifier) const = 0; 00109 00110 virtual bool ApplyFFTLowPass(AbstractImage& ioImage, 00111 double iCutoff, uint32 iRank, 00112 uint32 iChannelMask, ProgressNotifier& iNotifier) const = 0; 00113 }; 00114 00115 } // namespace Image 00116 } // namespace eLynx 00117 00118 #endif // __IImageGlobalProcessing_h__