Xmipp
v3.23.11-Nereus
xmipp
libraries
reconstruction
volume_initial_simulated_annealing.h
Go to the documentation of this file.
1
/***************************************************************************
2
*
3
* Authors: Carlos Oscar S. Sorzano (coss@cnb.csic.es)
4
*
5
* Unidad de Bioinformatica of Centro Nacional de Biotecnologia , CSIC
6
*
7
* This program is free software; you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation; either version 2 of the License, or
10
* (at your option) any later version.
11
*
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License
18
* along with this program; if not, write to the Free Software
19
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
20
* 02111-1307 USA
21
*
22
* All comments concerning this program package may be sent to the
23
* e-mail address 'xmipp@cnb.csic.es'
24
***************************************************************************/
25
26
#ifndef __VOLUME_INITIAL_H_H
27
#define __VOLUME_INITIAL_H_H
28
29
#include <
core/xmipp_program.h
>
30
#include <
core/xmipp_threads.h
>
31
#include "
reconstruct_fourier.h
"
32
#include "
angular_project_library.h
"
33
37
39
class
ThreadVolumeInitialAlignment
40
{
41
public
:
42
MetaDataDb
mdReconstruction
;
43
double
sumCorr
,
sumImprovement
;
44
};
45
46
class
GalleryImage
47
{
48
public
:
49
FileName
fnImg
;
50
double
rot,
tilt
;
51
};
52
53
class
InputImage
54
{
55
public
:
56
FileName
fnImg
;
57
double
maxcc
;
58
};
59
61
class
ProgVolumeInitialSimulatedAnnealing
:
public
XmippProgram
62
{
63
public
:
65
FileName
fnIn, fnRoot,
fnSym
, fnInit;
66
68
double
T0
;
69
71
int
NiterRandom
, NiterGreedy;
72
74
double
rejection
;
75
77
int
Nthr
;
78
80
bool
positiveConstraint
;
81
83
bool
keepIntermediateVolumes
;
84
86
double
angularSampling
;
87
88
public
:
// Internal members
89
MetaDataDb
mdIn,
mdReconstruction
;
90
91
// Set of images in the gallery, it should be a metadata but metadatas do not support threads
92
std::vector<GalleryImage>
mdGallery
;
93
94
// Set of input images
95
std::vector<InputImage>
mdInp
;
96
97
// Filenames
98
FileName
fnAngles,
fnVolume
, fnGallery, fnGalleryMetaData;
99
100
// Images
101
Image<double>
gallery,
inputImages
;
102
103
// Current iteration
104
int
iter
;
105
106
// Array with information for the threads
107
ThreadVolumeInitialAlignment
*
threadResults
;
108
109
// Mutex to update MaxCC
110
Mutex
mutexMaxCC
;
111
112
// Iteration statistics
113
double
sumCorr
,
sumImprovement
;
114
public
:
116
void
readParams();
117
119
void
defineParams();
120
122
void
show();
123
125
void
run();
126
128
void
produceSideinfo();
129
131
void
reconstructCurrent();
132
134
void
generateProjections();
135
137
void
filterByCorrelation();
138
};
140
#endif
ProgVolumeInitialSimulatedAnnealing::mutexMaxCC
Mutex mutexMaxCC
Definition:
volume_initial_simulated_annealing.h:110
ProgVolumeInitialSimulatedAnnealing::mdReconstruction
MetaDataDb mdReconstruction
Definition:
volume_initial_simulated_annealing.h:89
ProgVolumeInitialSimulatedAnnealing::iter
int iter
Definition:
volume_initial_simulated_annealing.h:104
ProgVolumeInitialSimulatedAnnealing::mdInp
std::vector< InputImage > mdInp
Definition:
volume_initial_simulated_annealing.h:95
ProgVolumeInitialSimulatedAnnealing::inputImages
Image< double > inputImages
Definition:
volume_initial_simulated_annealing.h:101
ThreadVolumeInitialAlignment::mdReconstruction
MetaDataDb mdReconstruction
Definition:
volume_initial_simulated_annealing.h:42
InputImage::fnImg
FileName fnImg
Definition:
volume_initial_simulated_annealing.h:56
GalleryImage
Definition:
volume_initial_simulated_annealing.h:46
GalleryImage::fnImg
FileName fnImg
Definition:
volume_initial_simulated_annealing.h:49
ProgVolumeInitialSimulatedAnnealing::fnVolume
FileName fnVolume
Definition:
volume_initial_simulated_annealing.h:98
ProgVolumeInitialSimulatedAnnealing::positiveConstraint
bool positiveConstraint
Definition:
volume_initial_simulated_annealing.h:80
Mutex
Definition:
xmipp_threads.h:52
ProgVolumeInitialSimulatedAnnealing::Nthr
int Nthr
Definition:
volume_initial_simulated_annealing.h:77
FileName
Definition:
xmipp_filename.h:65
xmipp_threads.h
angular_project_library.h
ProgVolumeInitialSimulatedAnnealing::angularSampling
double angularSampling
Definition:
volume_initial_simulated_annealing.h:86
ProgVolumeInitialSimulatedAnnealing::mdGallery
std::vector< GalleryImage > mdGallery
Definition:
volume_initial_simulated_annealing.h:92
ProgVolumeInitialSimulatedAnnealing::threadResults
ThreadVolumeInitialAlignment * threadResults
Definition:
volume_initial_simulated_annealing.h:107
ProgVolumeInitialSimulatedAnnealing::keepIntermediateVolumes
bool keepIntermediateVolumes
Definition:
volume_initial_simulated_annealing.h:83
ThreadVolumeInitialAlignment::sumCorr
double sumCorr
Definition:
volume_initial_simulated_annealing.h:43
ProgVolumeInitialSimulatedAnnealing::rejection
double rejection
Definition:
volume_initial_simulated_annealing.h:74
xmipp_program.h
InputImage
Definition:
volume_initial_simulated_annealing.h:53
ProgVolumeInitialSimulatedAnnealing::T0
double T0
Definition:
volume_initial_simulated_annealing.h:68
ThreadVolumeInitialAlignment
Definition:
volume_initial_simulated_annealing.h:39
ThreadVolumeInitialAlignment::sumImprovement
double sumImprovement
Definition:
volume_initial_simulated_annealing.h:43
ProgVolumeInitialSimulatedAnnealing::fnSym
FileName fnSym
Definition:
volume_initial_simulated_annealing.h:65
ProgVolumeInitialSimulatedAnnealing::sumImprovement
double sumImprovement
Definition:
volume_initial_simulated_annealing.h:113
MetaDataDb
Definition:
metadata_db.h:55
InputImage::maxcc
double maxcc
Definition:
volume_initial_simulated_annealing.h:57
Image< double >
reconstruct_fourier.h
ProgVolumeInitialSimulatedAnnealing::NiterRandom
int NiterRandom
Definition:
volume_initial_simulated_annealing.h:71
XmippProgram
Definition:
xmipp_program.h:52
ProgVolumeInitialSimulatedAnnealing
Definition:
volume_initial_simulated_annealing.h:61
GalleryImage::tilt
double tilt
Definition:
volume_initial_simulated_annealing.h:50
Generated by
1.8.13