eLynx SDK
v3.3.0 C++ image processing API reference |
00001 //============================================================================ 00002 // ImageHandlerImpl.h Image.Component package 00003 //============================================================================ 00004 // Usage : 00005 //---------------------------------------------------------------------------- 00006 // Copyright (C) 2006 by eLynx project 00007 // 00008 // This library is free software; you can redistribute it and/or 00009 // modify it under the terms of the GNU Library General Public 00010 // License as published by the Free Software Foundation; either 00011 // version 2 of the License, or (at your option) any later version. 00012 // 00013 // This library is distributed in the hope that it will be useful, 00014 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00016 // See the GNU Library General Public License for more details. 00017 //---------------------------------------------------------------------------- 00018 #ifndef __ImageHandlerImpl_h__ 00019 #define __ImageHandlerImpl_h__ 00020 00021 #include "IImageHandler.h" 00022 00023 namespace eLynx { 00024 namespace Image { 00025 00029 template <class Pixel> 00030 class ImageHandlerImpl : public IImageHandler 00031 { 00032 public: 00035 virtual boost::shared_ptr<AbstractImage> 00036 CreateImage(uint32 iWidth, uint32 iHeight) const; 00037 00038 virtual boost::shared_ptr<AbstractImage> 00039 CreateImage(const AbstractImage& iImage) const; 00040 00041 virtual boost::shared_ptr<AbstractImage> 00042 CreateImage( 00043 const AbstractImage& iImage, EResolution iResolution, bool ibScaled = true) const; 00044 00045 virtual boost::shared_ptr<AbstractImage> 00046 CreateChannel( 00047 const AbstractImage& iImage, uint32 iChannel, bool ibScaled = true) const; 00048 00049 virtual bool SetChannel( 00050 AbstractImage& ioImage, const AbstractImage& iPlane, uint32 iChannel) const; 00051 00052 virtual boost::shared_ptr<AbstractImage> 00053 CreateImageUByteFullDynamic(const AbstractImage& iImage) const; 00054 00056 00059 virtual const IImageGeometry& GetGeometryHandler() const; 00060 virtual const IImageAnalyse& GetAnalyseHandler() const; 00061 virtual const IImageOperators& GetOperatorsHandler() const; 00062 virtual const IImagePointProcessing& GetPointToPointHandler() const; 00063 virtual const IImageLocalProcessing& GetLocalToPointHandler() const; 00064 virtual const IImageGlobalProcessing& GetGlobalToPointHandler() const; 00065 virtual const IImageEdgeProcessing& GetEdgeProcessingHandler() const; 00066 virtual const IImageMorphologicalProcessing& GetMorphologicalHandler() const; 00067 virtual const IImageMiscProcessing& GetMiscHandler() const; 00068 virtual const IImageRasterization& GetRasterizationHandler() const; 00069 virtual const IImageRestoration& GetRestorationHandler() const; 00070 00072 }; 00073 00074 } // namespace Image 00075 } // namespace eLynx 00076 00077 #include "inl/ImageHandlerImpl.inl" 00078 00079 #endif // __ImageHandlerImpl_h__