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

emdata_transform.h

Go to the documentation of this file.
00001 
00005 /*
00006  * Author: Steven Ludtke, 04/10/2003 (sludtke@bcm.edu)
00007  * Copyright (c) 2000-2006 Baylor College of Medicine
00008  *
00009  * This software is issued under a joint BSD/GNU license. You may use the
00010  * source code in this file under either license. However, note that the
00011  * complete EMAN2 and SPARX software packages have some GPL dependencies,
00012  * so you are responsible for compliance with the licenses of these packages
00013  * if you opt to use BSD licensing. The warranty disclaimer below holds
00014  * in either instance.
00015  *
00016  * This complete copyright notice must be included in any revised version of the
00017  * source code. Additional authorship citations may be added, but existing
00018  * author citations must be preserved.
00019  *
00020  * This program is free software; you can redistribute it and/or modify
00021  * it under the terms of the GNU General Public License as published by
00022  * the Free Software Foundation; either version 2 of the License, or
00023  * (at your option) any later version.
00024  *
00025  * This program is distributed in the hope that it will be useful,
00026  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00027  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00028  * GNU General Public License for more details.
00029  *
00030  * You should have received a copy of the GNU General Public License
00031  * along with this program; if not, write to the Free Software
00032  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
00033  *
00034  * */
00035 
00040 #ifndef emdata__transform_h__
00041 #define emdata__transform_h__
00042 
00043 public:
00044 
00050 EMData *do_fft() const;
00051 
00052 
00053 #ifdef EMAN2_USING_CUDA
00054 
00060 EMData *do_fft_cuda(); // I am not using const b/c this function does modify cuda specific EMData members...
00061 
00068 EMData *do_fft_inplace_cuda();
00069 
00076 EMData *do_ift_cuda();
00077 
00084 EMData *do_ift_inplace_cuda();
00085 #endif //EMAN2_USING_CUDA
00086 
00087 
00088 
00092 EMData* do_fft_inplace();
00093 
00094 
00103 EMData *do_ift();
00104 
00105 
00106 /* Do IFT inplace. And return the IFT image.
00107  * @return The IFT image.
00108  */
00109 EMData* do_ift_inplace();
00110 
00111 
00130 std::string render_amp8(int x, int y, int xsize, int ysize,
00131                                  int bpl, float scale, int min_gray, int max_gray,
00132                                  float min_render, float max_render,float gamma,int flags);
00133 
00152 std::string render_ap24(int x, int y, int xsize, int ysize,
00153                                  int bpl, float scale, int min_gray, int max_gray,
00154                                  float min_render, float max_render,float gamma,int flags);
00155 
00171 void render_amp24(int x, int y, int xsize, int ysize,
00172                                   int bpl, float scale, int min_gray, int max_gray,
00173                                   float min_render, float max_render,
00174                                   void *ref, void cmap(void *, int coord, unsigned char *tri));
00175 
00176 
00179 void ri2ap();
00180 
00183 void ap2ri();
00184 
00188 void ri2inten();
00189 
00197 EMData*   bispecRotTransInvN(int N, int NK);
00198 
00199 
00200 
00206 EMData*  bispecRotTransInvDirect(int type=0);
00207 
00208 
00215 void insert_clip(const EMData * const block, const IntPoint & origin);
00216 
00217 
00231 void insert_scaled_sum(EMData *block, const FloatPoint & center,
00232                                            float scale=1.0, float mult_factor=1.0);
00233 
00234 
00235 
00236 #endif  //emdata__transform_h__

Generated on Tue Jun 11 13:46:14 2013 for EMAN2 by  doxygen 1.3.9.1