Xmipp  v3.23.11-Nereus
xmippmoduleCore.h
Go to the documentation of this file.
1 /***************************************************************************
2  *
3  * Authors: J.M. De la Rosa Trevin (jmdelarosa@cnb.csic.es)
4  * Roberto Marabini (roberto@cnb.csic.es)
5  *
6  * Unidad de Bioinformatica of Centro Nacional de Biotecnologia , CSIC
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
21  * 02111-1307 USA
22  *
23  * All comments concerning this program package may be sent to the
24  * e-mail address 'xmipp@cnb.csic.es'
25  ***************************************************************************/
26 
27 #ifndef _XMIPPMODULECORE_H
28 #define _XMIPPMODULECORE_H
29 
30 #define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION // this code is NumPy 1.8 compliant (i.e. we don't need API deprecated in 1.7)
31 
32 #include <Python.h>
33 
34 #include "../../core/metadata_extension.h"
35 #include "../../core/xmipp_image_generic.h"
36 #include "../../core/xmipp_image_extension.h"
37 #include "../../core/xmipp_color.h"
38 #include "../../core/symmetries.h"
39 
40 #include "python_filename.h"
41 #include "python_image.h"
42 #include "python_program.h"
43 #include "python_metadata.h"
44 #include "python_symmetry.h"
45 
46 extern PyObject * PyXmippError;
47 
48 #define SymList_Check(v) (((v)->ob_type == &SymListType))
49 #define SymList_Value(v) ((*((SymListObject*)(v))->symlist))
50 
51 
52 /***************************************************************/
53 /* Global methods */
54 /***************************************************************/
55 PyObject *
56 xmipp_str2Label(PyObject *obj, PyObject *args);
57 
58 PyObject *
59 xmipp_label2Str(PyObject *obj, PyObject *args);
60 
61 PyObject *
62 xmipp_colorStr(PyObject *obj, PyObject *args);
63 
64 PyObject *
65 xmipp_labelType(PyObject *obj, PyObject *args);
66 
67 PyObject *
68 xmipp_labelHasTag(PyObject *obj, PyObject *args);
69 
70 PyObject *
71 xmipp_labelIsImage(PyObject *obj, PyObject *args);
72 
73 /* isInStack */
74 PyObject *
75 xmipp_isValidLabel(PyObject *obj, PyObject *args, PyObject *kwargs);
76 
77 /* createEmptyFile */
78 PyObject *
79 xmipp_createEmptyFile(PyObject *obj, PyObject *args, PyObject *kwargs);
80 
81 /* getImageSize */
82 PyObject *
83 xmipp_getImageSize(PyObject *obj, PyObject *args, PyObject *kwargs);
84 
85 /* ImgSize (from metadata filename)*/
86 PyObject *
87 xmipp_ImgSize(PyObject *obj, PyObject *args, PyObject *kwargs);
88 
89 PyObject *
90 xmipp_CheckImageFileSize(PyObject *obj, PyObject *args, PyObject *kwargs);
91 
92 PyObject *
93 xmipp_CheckImageCorners(PyObject *obj, PyObject *args, PyObject *kwargs);
94 
95 PyObject *
96 xmipp_ImgCompare(PyObject *obj, PyObject *args, PyObject *kwargs);
97 
98 PyObject *
99 xmipp_compareTwoFiles(PyObject *obj, PyObject *args, PyObject *kwargs);
100 
101 PyObject *
102 xmipp_compareTwoImageTolerance(PyObject *obj, PyObject *args, PyObject *kwargs);
103 
104 PyObject *
105 xmipp_bsoftRemoveLoopBlock(PyObject *obj, PyObject *args, PyObject *kwargs);
106 
107 PyObject *
108 xmipp_bsoftRestoreLoopBlock(PyObject *obj, PyObject *args, PyObject *kwargs);
109 
110 
111 /***************************************************************/
112 /* Some specific utility functions */
113 /***************************************************************/
114 /* readMetaDataWithTwoPossibleImages */
115 PyObject *
116 xmipp_readMetaDataWithTwoPossibleImages(PyObject *obj, PyObject *args,
117  PyObject *kwargs);
118 
119 /* substituteOriginalImages */
120 PyObject *
121 xmipp_substituteOriginalImages(PyObject *obj, PyObject *args, PyObject *kwargs);
122 
123 bool validateInputImageString(PyObject * pyImage, PyObject *pyStrFn, FileName &fn);
124 
125 PyObject *
126 xmipp_compareTwoMetadataFiles(PyObject *obj, PyObject *args, PyObject *kwargs);
127 
128 /* dump metadatas to database*/
129 PyObject *
130 xmipp_dumpToFile(PyObject *obj, PyObject *args, PyObject *kwargs);
131 
132 PyObject *
133 xmipp_Euler_angles2matrix(PyObject *obj, PyObject *args, PyObject *kwargs);
134 
135 PyObject *
136 xmipp_Euler_direction(PyObject *obj, PyObject *args, PyObject *kwargs);
137 
138 PyObject *
139 MetaData_activateMathExtensions(PyObject *obj, PyObject *args, PyObject *kwargs);
140 
141 void addIntConstant(PyObject * dict, const char * name, const long &value);
142 void addLabels(PyObject * dict);
143 
144 #endif
void addLabels(PyObject *dict)
PyObject * xmipp_dumpToFile(PyObject *obj, PyObject *args, PyObject *kwargs)
PyObject * xmipp_str2Label(PyObject *obj, PyObject *args)
Definition: xmippmodule.cpp:53
PyObject * xmipp_compareTwoFiles(PyObject *obj, PyObject *args, PyObject *kwargs)
PyObject * xmipp_getImageSize(PyObject *obj, PyObject *args, PyObject *kwargs)
PyObject * xmipp_compareTwoMetadataFiles(PyObject *obj, PyObject *args, PyObject *kwargs)
PyObject * xmipp_ImgCompare(PyObject *obj, PyObject *args, PyObject *kwargs)
PyObject * xmipp_isValidLabel(PyObject *obj, PyObject *args, PyObject *kwargs)
PyObject * PyXmippError
Definition: xmippmodule.cpp:47
PyObject * xmipp_substituteOriginalImages(PyObject *obj, PyObject *args, PyObject *kwargs)
PyObject * xmipp_Euler_direction(PyObject *obj, PyObject *args, PyObject *kwargs)
PyObject * MetaData_activateMathExtensions(PyObject *obj, PyObject *args, PyObject *kwargs)
PyObject * xmipp_createEmptyFile(PyObject *obj, PyObject *args, PyObject *kwargs)
void addIntConstant(PyObject *dict, const char *name, const long &value)
PyObject * xmipp_colorStr(PyObject *obj, PyObject *args)
Definition: xmippmodule.cpp:74
PyObject * xmipp_CheckImageCorners(PyObject *obj, PyObject *args, PyObject *kwargs)
PyObject * xmipp_compareTwoImageTolerance(PyObject *obj, PyObject *args, PyObject *kwargs)
bool validateInputImageString(PyObject *pyImage, PyObject *pyStrFn, FileName &fn)
PyObject * xmipp_bsoftRemoveLoopBlock(PyObject *obj, PyObject *args, PyObject *kwargs)
PyObject * xmipp_Euler_angles2matrix(PyObject *obj, PyObject *args, PyObject *kwargs)
PyObject * xmipp_bsoftRestoreLoopBlock(PyObject *obj, PyObject *args, PyObject *kwargs)
PyObject * xmipp_labelHasTag(PyObject *obj, PyObject *args)
PyObject * xmipp_readMetaDataWithTwoPossibleImages(PyObject *obj, PyObject *args, PyObject *kwargs)
PyObject * xmipp_label2Str(PyObject *obj, PyObject *args)
Definition: xmippmodule.cpp:62
PyObject * xmipp_ImgSize(PyObject *obj, PyObject *args, PyObject *kwargs)
PyObject * xmipp_labelType(PyObject *obj, PyObject *args)
Definition: xmippmodule.cpp:88
PyObject * xmipp_CheckImageFileSize(PyObject *obj, PyObject *args, PyObject *kwargs)
void(* obj)()
PyObject * xmipp_labelIsImage(PyObject *obj, PyObject *args)