Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

TestPatterns.hpp

Go to the documentation of this file.
00001 /* ImLib3D
00002  * Copyright (c) 2001, ULP-IPB Strasbourg.
00003  *
00004  * This program is free software; you can redistribute it and/or modify
00005  * it under the terms of the GNU General Public License as published by
00006  * the Free Software Foundation; either version 2 of the License, or (at
00007  * your option) any later version.
00008  * 
00009  * This program is distributed in the hope that it will be useful, but
00010  * WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * General Public License for more details.
00013  * 
00014  * You should have received a copy of the GNU General Public License
00015  * along with this program; if not, write to the Free Software
00016  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00017  */
00020 #ifndef _TestPatterns_hpp
00021 #define _TestPatterns_hpp
00022 
00023 #include<ImLib3D/Image3D.hpp>
00024 #include<ImLib3D/ImageProcessor.hpp>
00025 #include<ImLib3D/MorphologicalOperators.hpp>
00026 #ifdef NOTDEF
00027 
00028 //  class TestPatterns
00029 //  {
00030 //  public:
00031 //      //! Sphere: Center=C radius=r
00032 //      static void Sphere(Image3Df &ima,const Vect3Df &C,float r);
00033 //      //! cone: base=P0 point=P1 radius at base=r
00034 //      static void Cone(Image3Df &ima,const Vect3Df &P0,const Vect3Df &P1,float r);
00035 //      static void ConeAA(Image3Df &ima,const Vect3Df &P0,const Vect3Df &P1,float r,float ar=4.0);
00036 //      static void NoiseUniform(Image3Df &ima,float v0=0,float v1=1);
00037 //      static void NoiseGaussian(Image3Df &ima,float average=0,float variance=1);
00038 //      static void Target(Image3Df &ima);
00039 //      static void Explode(Field3Df &ima,const Vect3Df &C);
00040 //      static void Parallellogram(Image3Df &ima, const RectZone3Di & rect);
00041 //      //! GridRectangular: spaced by masksize, P will be at an intersection
00042 //      static void RectangularGrid(Image3Df &ima, const Size3D& masksize, const Vect3Di& P=Vect3Di(0,0,0));
00043 //      //! ColoredGrid is a Mask3D where each cube is colored. No two adjacent cubes have the same color. Neighborhood defined for MORPHO_Cross7, MORPHO_Planar19 and MORPHO_Cubic27
00044 //      static void ColoredGrid(Mask3D &ima, const Size3D& masksize, StructureElementType structure = MORPHO_Cross7);
00045 //  };
00046 #endif//NOTDEF
00047 
00048 
00049 
00050 namespace IP3D
00051 {
00061         void Sphere(const Size3D &size,const Vect3Df &C,float r,Image3Df &ima);
00062 };
00063 
00064 
00065 namespace IP3D
00066 {
00075         void Explode(const Size3D &size,const Vect3Df &C,Field3Df &ima);
00076 };
00077 
00078 
00079 namespace IP3D
00080 {
00092         void Cone(const Size3D &size,const Vect3Df &P0,const Vect3Df &P1,float r,Image3Df &ima,float ar=4.0);
00093 namespace ConeHelpers
00094 {
00095     void NoAA(Image3Df &ima,const Vect3Df &P0,const Vect3Df &P1,float r);
00096 }
00097 };
00098 
00099 namespace IP3D
00100 {
00110         void NoiseUniform(const Size3D &size,Image3Df &ima,float v0=0,float v1=1);
00111 };
00112 
00113 namespace IP3D
00114 {
00124         void NoiseGaussian(const Size3D &size,Image3Df &ima,float v0=0,float v1=1);
00125 };
00126 
00127 namespace IP3D
00128 {
00136         void Target(const Size3D &size,Image3Df &ima);
00137 
00138 };
00139 
00140 namespace IP3D
00141 {
00152         void Bump(const Size3D &size,const Vect3Df &center,float height,float gsize,Image3Df &ima);
00153 };
00154 
00155 namespace IP3D
00156 {
00172         void Ramp(const Size3D &size,int direction,float v0,float v1,Image3Df &res,int pos0=-1,int pos1=-1);
00173 };
00174 
00175 namespace IP3D
00176 {
00185         void Parallellogram(const Size3D &size,const RectZone3Di & rect,Image3Df &ima);
00186 };
00187 
00188 namespace IP3D
00189 {
00204         void RectangularGrid(const Size3D &size, const Size3D &masksize,Image3Df &ima, const Vect3Di *pintersection=NULL);
00205 };
00206 
00207 namespace IP3D
00208 {
00221         void ColoredGrid(const Size3D &size, const Size3D &masksize,Mask3D &ima, StructureElementType neighborhoodtype=MORPHO_Cross7);
00222 };
00223 
00224 #endif // _TestPatterns_hpp

Generated on Fri Jun 17 13:36:07 2005 for ImLib3D by  doxygen 1.4.2