eLynx SDK
v3.3.0 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( 00051 AbstractImage& ioImage, 00052 uint32 iChannelMask, ProgressNotifier& iNotifier) const = 0; 00053 00059 virtual bool EqualizeHistogram( 00060 AbstractImage& ioImage, 00061 uint32 iChannelMask, ProgressNotifier& iNotifier) const = 0; 00062 00067 virtual bool AutoBrightness( 00068 AbstractImage& ioImage, 00069 ProgressNotifier& iNotifier) const = 0; 00070 00075 virtual bool AutoContrast( 00076 AbstractImage& ioImage, 00077 ProgressNotifier& iNotifier) const = 0; 00078 00083 virtual bool AutoColor( 00084 AbstractImage& ioImage, 00085 ProgressNotifier& iNotifier) const = 0; 00086 00091 virtual bool AutoBalance( 00092 AbstractImage& ioImage, 00093 ProgressNotifier& iNotifier) const = 0; 00094 00104 virtual bool DeconvolveRL( 00105 AbstractImage& ioImage, 00106 const IImagePSF &iPSF, 00107 uint32 iIterations, 00108 EBorderFill iBorder, 00109 uint32 iChannelMask, ProgressNotifier& iNotifier) const = 0; 00110 00111 virtual bool ApplyFFT( 00112 AbstractImage& ioImage, 00113 const AbstractImage& iFilter, 00114 uint32 iChannelMask, ProgressNotifier& iNotifier) const = 0; 00115 00116 virtual bool ApplyFFTLowPass( 00117 AbstractImage& ioImage, 00118 double iCutoff, 00119 uint32 iRank, 00120 uint32 iChannelMask, ProgressNotifier& iNotifier) const = 0; 00121 }; 00122 00123 } // namespace Image 00124 } // namespace eLynx 00125 00126 #endif // __IImageGlobalProcessing_h__