Xmipp  v3.23.11-Nereus
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | List of all members
ProgIDRXrayTomo Class Reference

#include <idr_xray_tomo.h>

Inheritance diagram for ProgIDRXrayTomo:
Inheritance graph
[legend]
Collaboration diagram for ProgIDRXrayTomo:
Collaboration graph
[legend]

Public Types

enum  { RECONS_ART, RECONS_FOURIER, RECONS_TOMO3D }
 

Public Member Functions

virtual void run ()
 
void reconstruct (const FileName &fnProjs, const FileName &fnVol)
 
ProgReconsBasecreateReconsProgram (const FileName &input, const FileName &output)
 
- Public Member Functions inherited from XmippProgram
const char * getParam (const char *param, int arg=0)
 
const char * getParam (const char *param, const char *subparam, int arg=0)
 
int getIntParam (const char *param, int arg=0)
 
int getIntParam (const char *param, const char *subparam, int arg=0)
 
double getDoubleParam (const char *param, int arg=0)
 
double getDoubleParam (const char *param, const char *subparam, int arg=0)
 
float getFloatParam (const char *param, int arg=0)
 
float getFloatParam (const char *param, const char *subparam, int arg=0)
 
void getListParam (const char *param, StringVector &list)
 
int getCountParam (const char *param)
 
bool checkParam (const char *param)
 
bool existsParam (const char *param)
 
void addParamsLine (const String &line)
 
void addParamsLine (const char *line)
 
ParamDefgetParamDef (const char *param) const
 
virtual void quit (int exit_code=0) const
 
virtual int tryRun ()
 
void initProgress (size_t total, size_t stepBin=60)
 
void setProgress (size_t value=0)
 
void endProgress ()
 
void processDefaultComment (const char *param, const char *left)
 
void setDefaultComment (const char *param, const char *comment)
 
virtual void initComments ()
 
void setProgramName (const char *name)
 
void addUsageLine (const char *line, bool verbatim=false)
 
void clearUsage ()
 
void addExampleLine (const char *example, bool verbatim=true)
 
void addSeeAlsoLine (const char *seeAlso)
 
void addKeywords (const char *keywords)
 
const char * name () const
 
virtual void usage (int verb=0) const
 
virtual void usage (const String &param, int verb=2)
 
int version () const
 
virtual void show () const
 
virtual void read (int argc, const char **argv, bool reportErrors=true)
 
virtual void read (int argc, char **argv, bool reportErrors=true)
 
void read (const String &argumentsLine)
 
 XmippProgram ()
 
 XmippProgram (int argc, const char **argv)
 
virtual ~XmippProgram ()
 

Public Attributes

FileName fnInputProjMD
 Metadafile with angles and projection file names. More...
 
FileName fnRootInter
 Rootname for intermediate/exchange projections metadatas and files. More...
 
FileName fnInterProjs
 
FileName fnInterProjsMD
 
FileName fnInterAngles
 
FileName fnOutVol
 Reconstructed output volume file name. More...
 
FileName fnStart
 Initial volume. More...
 
FileName fnPSF
 Xray Microscope PSF Parameters. More...
 
XRayPSF psf
 Xray PSF Object. More...
 
double psfThr
 threshold for psfSlabs More...
 
double sampling
 
int nThr
 Number of threads;. More...
 
int itNum
 Number of iterations. More...
 
Matrix1D< double > lambda_list
 Relaxation parameter. More...
 
enum ProgIDRXrayTomo:: { ... }  reconsMethod
 
ProgReconsBasereconsProgram
 
Image< double > muVol
 
MetaDataVec projMD
 
MetaDataVec interProjMD
 
XrayProjPhantom phantom
 
Projection proj
 
ParallelTaskDistributortd
 
- Public Attributes inherited from XmippProgram
bool doRun
 
bool runWithoutArgs
 
int verbose
 Verbosity level. More...
 
int debug
 

Protected Member Functions

virtual void defineParams ()
 
virtual void readParams ()
 
void preRun ()
 
void postRun ()
 
- Protected Member Functions inherited from XmippProgram
void defineCommons ()
 

Additional Inherited Members

- Protected Attributes inherited from XmippProgram
int errorCode
 
ProgramDefprogDef
 Program definition and arguments parser. More...
 
std::map< String, CommentListdefaultComments
 
int argc
 Original command line arguments. More...
 
const char ** argv
 

Detailed Description

Definition at line 38 of file idr_xray_tomo.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
RECONS_ART 
RECONS_FOURIER 
RECONS_TOMO3D 

Definition at line 74 of file idr_xray_tomo.h.

Member Function Documentation

◆ createReconsProgram()

ProgReconsBase * ProgIDRXrayTomo::createReconsProgram ( const FileName input,
const FileName output 
)

Definition at line 342 of file idr_xray_tomo.cpp.

343 {
344  //get reconstruction extra params
345  String arguments = getParam("--recons", 1) +
346  formatString(" -v 0 --thr %d -i %s -o %s", nThr, input.c_str(), output.c_str());
347  ProgReconsBase * program;
348  // std::cerr << "DEBUG_JM: ProgMLRefine3D::createReconsProgram" <<std::endl;
349  // std::cerr << "DEBUG_JM: arguments: " << arguments << std::endl;
350  // std::cerr << "DEBUG_JM: input: " << input << std::endl;
351 
353  {
354  program = new ProgRecFourier();
355  //force use of weights and the verbosity will be the same of this program
356  //-i and -o options are passed for avoiding errors, this should be changed
357  //when reconstructing
358  // arguments += " --weight";
359  program->read(arguments);
360  return program;
361  }
362  else if (reconsMethod == RECONS_ART)//use of Art
363  {
364  //REPORT_ERROR(ERR_NOT_IMPLEMENTED,"not implemented reconstruction through wlsArt");
365  program = new ProgReconsART();
366  FileName fn_tmp(arguments);
367  // arguments += " --WLS";
368  // if (fn_symmask.empty() && checkParam("--sym"))
369  // arguments += " --sym " + fn_sym;
370  if (!fn_tmp.contains("-n "))
371  arguments += " -n 10";
372  if (!fn_tmp.contains("-l "))
373  arguments += " -l 0.2";
374  // if (!fn_tmp.contains("-k "))
375  // arguments += " -k 0.5";
376 
377  program->read(arguments);
378  return program;
379  }
380  return nullptr;
381 }
int nThr
Number of threads;.
Definition: idr_xray_tomo.h:64
const char * getParam(const char *param, int arg=0)
std::string String
Definition: xmipp_strings.h:34
String formatString(const char *format,...)
enum ProgIDRXrayTomo::@5 reconsMethod

◆ defineParams()

void ProgIDRXrayTomo::defineParams ( )
protectedvirtual

Function in which the param of each Program are defined.

Reimplemented from XmippProgram.

Definition at line 32 of file idr_xray_tomo.cpp.

33 {
34  addUsageLine("Iterative Data Refinement applied to the reconstruction of X-ray tomography projections.");
35  //Params
36  // projParam.defineParams(this); // Projection parameters
37  addParamsLine("-i <md_file> : Metadata file with input projections");
38  addParamsLine("alias --input;");
39  addParamsLine(" [--oroot <rootname=\"idr_xray\">] : Rootname used for refined projections");
40  addParamsLine(" [-o <Vol_file=\"idr_recon_vol.mrc\">] : Filename for refined output volume");
41  addParamsLine("alias --output;");
42  addParamsLine(" [--start <start_vol_file=\"\">] : Start from this basis volume. The reconstruction is performed in the same grid as the one ");
43  addParamsLine(" [-s <Ts>] : Sampling rate (nm)");
44  addParamsLine("alias --sampling_rate;");
45  addParamsLine("[--thr <threads=1>] : Number of concurrent threads.");
46 
47  addParamsLine("== Iterations options == ");
48  addParamsLine(" [-l <...>] : Relaxation factor, by default 1.8 (recommended range 0.0 - 2.0). ");
49  addParamsLine(" : A list of lambda values is also accepted as \"-l lambda0 lambda1 ...\"");
50  addParamsLine(" [-n <noit=1>] : Number of iterations");
51 
52  addParamsLine("== Reconstruction options == ");
53  addParamsLine("[--recons <recons_type=ART>] : Reconstruction method to be used");
54  addParamsLine(" where <recons_type> ");
55  addParamsLine(" ART <params=\"\"> : wlsART parameters");
56  addParamsLine(" fourier <params=\"\"> : fourier parameters");
57  addParamsLine(" tomo3d <params=\"\"> : tomo3d parameters");
58 
59 
60  addParamsLine("== Xray options == ");
61  addParamsLine("[--psf <psf_param_file=\"\">] : XRay-Microscope parameters file. If not set, then default parameters are chosen.");
62  addParamsLine("[--threshold <thr=0.0>] :+ Normalized threshold relative to maximum of PSF to reduce the volume into slabs");
63  //Examples
64  //Example projection file
65  // addExampleLine("In the following link you can find an example of projection parameter file:",false);
66  // addExampleLine(" ",false);
67  // addExampleLine("http://newxmipp.svn.sourceforge.net/viewvc/newxmipp/trunk/testXmipp/input/tomoProjection.param",false);
68  // addExampleLine(" ",false);
69  // addExampleLine("In the following link you can find an example of X-ray microscope parameters file:",false);
70  // addExampleLine(" ",false);
71  // addExampleLine("http://newxmipp.svn.sourceforge.net/viewvc/newxmipp/trunk/testXmipp/input/xray_psf.xmd",false);
72 }
void addUsageLine(const char *line, bool verbatim=false)
void addParamsLine(const String &line)

◆ postRun()

void ProgIDRXrayTomo::postRun ( )
protected

◆ preRun()

void ProgIDRXrayTomo::preRun ( )
protected

Definition at line 122 of file idr_xray_tomo.cpp.

123 {
124  psf.read(fnPSF);
125  psf.verbose = verbose;
126  psf.nThr = nThr;
127 
129 
130  // Threads stuff
131  barrier = new Barrier(nThr);
132  //Create threads to start working
133  thMgr = new ThreadManager(nThr);
134 
135  // Reading the input projections. Tilt angle values are needed
137 
138  // Setting the intermediate filenames
139  fnInterProjs = fnRootInter + "_inter_projs";
140  fnInterProjs += (reconsMethod == RECONS_TOMO3D)? ".mrc" : ".stk";
141 
143  fnInterAngles = fnRootInter + "_angles.txt";
144 
145  // We make sure to delete intermediate files
148 
149  FileName fnProjs;
151  // We generate the MD of temporary projections to be used for further reconstructions
155 
156  String arguments = formatString("-i %s -o %s -s",
157  fnInputProjMD.c_str(), fnInterProjs.c_str());
158  ProgConvImg conv;
159  conv.read(arguments);
160  conv.run();
161 
162  // Saving angles in plain text to pass to tomo3D
163  if ( reconsMethod == RECONS_TOMO3D )
164  {
165  std::vector<MDLabel> desiredLabels;
166  desiredLabels.push_back(MDL_ANGLE_TILT);
167  projMD.writeText(fnInterAngles, &desiredLabels);
168  }
169 
170  if (fnStart.empty()) // if initial volume is not passed,then we must calculate it
171  {
172  // Projections must be in an MRC stack to be passed
173  if ( reconsMethod == RECONS_TOMO3D )
175  else
176  {
179  }
180  }
181  else
183 }
int nThr
Number of threads;.
Definition: idr_xray_tomo.h:64
FileName fnInterAngles
Definition: idr_xray_tomo.h:48
virtual void read(int argc, const char **argv, bool reportErrors=true)
void read(const FileName &inFile, const std::vector< MDLabel > *desiredLabels=nullptr, bool decomposeStack=true) override
FileName fnPSF
Xray Microscope PSF Parameters.
Definition: idr_xray_tomo.h:56
FileName replaceExtension(const String &newExt) const
ThreadManager * thMgr
void reconstruct(const FileName &fnProjs, const FileName &fnVol)
Tilting angle of an image (double,degrees)
FileName removePrefixNumber() const
void writeText(const FileName fn, const std::vector< MDLabel > *desiredLabels) const override
FileName fnRootInter
Rootname for intermediate/exchange projections metadatas and files.
Definition: idr_xray_tomo.h:45
void replace(const MDLabel label, const String &oldStr, const String &newStr)
void write(const FileName &outFile, WriteModeMetaData mode=MD_OVERWRITE) const
FileName fnInputProjMD
Metadafile with angles and projection file names.
Definition: idr_xray_tomo.h:43
int nThr
Definition: psf_xr.h:215
XRayPSF psf
Xray PSF Object.
Definition: idr_xray_tomo.h:58
FileName fnOutVol
Reconstructed output volume file name.
Definition: idr_xray_tomo.h:50
XrayProjPhantom phantom
Definition: idr_xray_tomo.h:86
Barrier * barrier
void read(const FileName &fn, bool readVolume=true)
Definition: psf_xr.cpp:82
FileName fnStart
Initial volume.
Definition: idr_xray_tomo.h:52
MetaDataVec interProjMD
Definition: idr_xray_tomo.h:85
size_t firstRowId() const override
int verbose
Switch to control verbose mode.
Definition: psf_xr.h:212
int verbose
Verbosity level.
void calculateParams(double _dxo, double _dzo=-1, double threshold=0.)
Produce Side information.
Definition: psf_xr.cpp:279
void deleteFile() const
bool getValue(MDObject &mdValueOut, size_t id) const override
void read(const ParametersProjectionTomography &prm)
std::string String
Definition: xmipp_strings.h:34
double psfThr
threshold for psfSlabs
Definition: idr_xray_tomo.h:60
String formatString(const char *format,...)
MetaDataVec projMD
Definition: idr_xray_tomo.h:84
FileName fnInterProjs
Definition: idr_xray_tomo.h:46
FileName fnInterProjsMD
Definition: idr_xray_tomo.h:47
Name of an image (std::string)
enum ProgIDRXrayTomo::@5 reconsMethod

◆ readParams()

void ProgIDRXrayTomo::readParams ( )
protectedvirtual

Function in which each program will read parameters that it need. If some error occurs the usage will be printed out.

Reimplemented from XmippProgram.

Definition at line 75 of file idr_xray_tomo.cpp.

76 {
77  fnInputProjMD = getParam("-i");
78  fnOutVol = getParam("-o");
79  fnRootInter = getParam("--oroot");
80  fnStart = getParam("--start");
81  // projParam.readParams(this);
82 
83  fnPSF = getParam("--psf");
84  sampling = (checkParam("-s"))? getDoubleParam("-s")*1e-9 : -1 ;
85  psfThr = getDoubleParam("--threshold");
86  nThr = getIntParam("--thr");
87 
88  // Iteration parameters
89  StringVector list;
90  getListParam("-l", list);
91  size_t listSize = list.size();
92 
93  if (listSize != 0)
94  {
95  lambda_list.resizeNoCopy(listSize);
96 
97  for (size_t k = 0; k < listSize; k++)
98  VEC_ELEM(lambda_list, k) = textToFloat(list[k]);
99  }
100  else
101  {
103  VEC_ELEM(lambda_list, 0) = 1.8;
104  }
105 
106  itNum = getIntParam("-n");
107 
108  // Reconstruction
109  if (STR_EQUAL(getParam("--recons"), "ART"))
111  else if (STR_EQUAL(getParam("--recons"), "fourier"))
113  else if (STR_EQUAL(getParam("--recons"), "tomo3d"))
115 
116 
117 
118 }//readParams
int nThr
Number of threads;.
Definition: idr_xray_tomo.h:64
#define VEC_ELEM(v, i)
Definition: matrix1d.h:245
int itNum
Number of iterations.
Definition: idr_xray_tomo.h:68
double getDoubleParam(const char *param, int arg=0)
FileName fnPSF
Xray Microscope PSF Parameters.
Definition: idr_xray_tomo.h:56
FileName fnRootInter
Rootname for intermediate/exchange projections metadatas and files.
Definition: idr_xray_tomo.h:45
FileName fnInputProjMD
Metadafile with angles and projection file names.
Definition: idr_xray_tomo.h:43
void getListParam(const char *param, StringVector &list)
FileName fnOutVol
Reconstructed output volume file name.
Definition: idr_xray_tomo.h:50
std::vector< String > StringVector
Definition: xmipp_strings.h:35
ql0001_ & k(htemp+1),(cvec+1),(atemp+1),(bj+1),(bl+1),(bu+1),(x+1),(clamda+1), &iout, infoqp, &zero,(w+1), &lenw,(iw+1), &leniw, &glob_grd.epsmac
const char * getParam(const char *param, int arg=0)
FileName fnStart
Initial volume.
Definition: idr_xray_tomo.h:52
float textToFloat(const char *str)
#define STR_EQUAL(str1, str2)
Definition: xmipp_strings.h:42
double psfThr
threshold for psfSlabs
Definition: idr_xray_tomo.h:60
void resizeNoCopy(int Xdim)
Definition: matrix1d.h:458
bool checkParam(const char *param)
int getIntParam(const char *param, int arg=0)
Matrix1D< double > lambda_list
Relaxation parameter.
Definition: idr_xray_tomo.h:70
enum ProgIDRXrayTomo::@5 reconsMethod

◆ reconstruct()

void ProgIDRXrayTomo::reconstruct ( const FileName fnProjs,
const FileName fnVol 
)

Definition at line 287 of file idr_xray_tomo.cpp.

288 {
290  {
291  MetaDataVec MD(fnProjsMD);
292  FileName fnProjs;
293  MD.getValue(MDL_IMAGE, fnProjs, MD.firstRowId());
294 
295  reconsTomo3D(fnInterAngles, fnProjs.removePrefixNumber(), fnVol);
296  phantom.read(fnVol);
297  MULTIDIM_ARRAY(phantom.iniVol).resetOrigin();
299  //FIXME: this is a temporary fixing to match the reconstructed volume with phantom
300  double factor = 1/13.734;
301  MULTIDIM_ARRAY(phantom.iniVol) *= factor;
302  }
303  else
304  {
305  reconsProgram = createReconsProgram(fnProjsMD, fnVol);
306  reconsProgram->run();
307  delete reconsProgram;
308  }
309 }
FileName fnInterAngles
Definition: idr_xray_tomo.h:48
FileName removePrefixNumber() const
#define MULTIDIM_ARRAY(v)
ProgReconsBase * createReconsProgram(const FileName &input, const FileName &output)
Image< double > iniVol
Phantom Xmipp volume.
Definition: project_xray.h:65
XrayProjPhantom phantom
Definition: idr_xray_tomo.h:86
ProgReconsBase * reconsProgram
Definition: idr_xray_tomo.h:81
int reconsTomo3D(const MetaData &MD, const FileName &fnOut, const String &params)
virtual void run()
void read(const ParametersProjectionTomography &prm)
Name of an image (std::string)
enum ProgIDRXrayTomo::@5 reconsMethod

◆ run()

void ProgIDRXrayTomo::run ( )
virtual

This function will be start running the program. it also should be implemented by derived classes.

Reimplemented from XmippProgram.

Definition at line 185 of file idr_xray_tomo.cpp.

186 {
187  preRun();
188 
189  Projection proj, stdProj;
190  Image<double> fixedProj, prevFProj;
191  MultidimArray<double> mFixedProj, mPrevFProj;
192 
193 
194  double rot, tilt, psi;
195 
196  double lambda = VEC_ELEM(lambda_list, 0);
197 
198  FileName fnProj;
199 
200  for (int iter = 0; iter < itNum; iter++)
201  {
202  std::cout << "== Iteration " << iter << std::endl;
203  std::cout << "Projecting ..." <<std::endl;
204 
205  // Fix the reconstructed volume to physical density values
206  double factor = 1/sampling;
207  MULTIDIM_ARRAY(phantom.iniVol) *= factor;
208  // remove negative values
210 
212  size_t imgNo = 1; // Image number
213  double meanError = 0.;
214 
215  for (size_t objId : projMD.ids())
216  {
217  projMD.getValue(MDL_IMAGE , fnProj, objId);
218  projMD.getValue(MDL_ANGLE_ROT , rot, objId);
219  projMD.getValue(MDL_ANGLE_TILT, tilt, objId);
220  projMD.getValue(MDL_ANGLE_PSI , psi, objId);
221  proj.setAngles(rot, tilt, psi);
222 
225 
226  /* Image normalization to optimize for reconstruction.
227  * To correct for self-attenuation (without considering 3DPSF)
228  * I = -ln(Iab)
229  */
230 // FOR_ALL_DIRECT_ELEMENTS_IN_MULTIDIMARRAY(MULTIDIM_ARRAY(proj))
231 // dAi(MULTIDIM_ARRAY(proj),n) = -log(1. - dAi(MULTIDIM_ARRAY(proj),n));
232 
233 
234  fixedProj.read(fnProj);
235  mFixedProj.alias(MULTIDIM_ARRAY(fixedProj));
236 
238  dAi(mFixedProj, n) = (log(1. - dAi(MULTIDIM_ARRAY(proj),n)) - log(dAi(mFixedProj, n)))*lambda + dAi(MULTIDIM_ARRAY(stdProj),n);
239 
240  prevFProj.read(fnInterProjs, DATA, imgNo); // To calculate meanError
241  mPrevFProj.alias(MULTIDIM_ARRAY(prevFProj));
242 
243  // Write the refined projection
244  fixedProj.write(fnInterProjs, imgNo, true, WRITE_REPLACE);
245 
246  // debug stuff //
247  if (verbose > 5)
248  {
249  proj.write(fnRootInter + "_debug_proj.stk", imgNo , true, WRITE_REPLACE);
250  stdProj.write(fnRootInter + "_debug_std_proj.stk", imgNo , true, WRITE_REPLACE);
251 
253  dAi(mFixedProj, n) = dAi(MULTIDIM_ARRAY(stdProj),n) - dAi(MULTIDIM_ARRAY(proj),n)*lambda ;
254 
255  fixedProj.write(fnRootInter + "_debug_diff_proj.stk", imgNo , true, WRITE_REPLACE);
256  }
257 
259  meanError += fabs(dAi(mPrevFProj, n) - dAi(mFixedProj, n));
260 
261  ++imgNo;
262  // Update progress bar
263  setProgress();
264  }
265  // Once calculated all fixed projection, let reconstruct again
266  endProgress();
267 
268  meanError /= (NZYXSIZE(mFixedProj)*projMD.size());
269 
270  std::cout << "Mean error = " << meanError <<std::endl;
271 
272  std::cout << "Reconstructing ..." << std::endl;
274 
275  if ( (iter < itNum-1) && (reconsMethod != RECONS_TOMO3D) ) // Since we process the output of tomo3d, this is already read
277 
278  }
279 
280  // Finish progress bar
281 
282  if (reconsMethod == RECONS_TOMO3D) // Trick to save the processed output of tomo3d
284 
285 }
#define dAi(v, i)
Rotation angle of an image (double,degrees)
#define YSIZE(v)
#define VEC_ELEM(v, i)
Definition: matrix1d.h:245
int itNum
Number of iterations.
Definition: idr_xray_tomo.h:68
void forcePositive(MultidimArray< double > &V)
Definition: filters.cpp:3506
void reconstruct(const FileName &fnProjs, const FileName &fnVol)
Tilting angle of an image (double,degrees)
FileName fnRootInter
Rootname for intermediate/exchange projections metadatas and files.
Definition: idr_xray_tomo.h:45
void initProgress(size_t total, size_t stepBin=60)
void write(const FileName &name="", size_t select_img=ALL_IMAGES, bool isStack=false, int mode=WRITE_OVERWRITE, CastWriteMode castMode=CW_CAST, int _swapWrite=0)
#define MULTIDIM_ARRAY(v)
void XrayRotateAndProjectVolumeOffCentered(XrayProjPhantom &phantom, XRayPSF &psf, Projection &P, Projection &standardP, int Ydim, int Xdim)
Special label to be used when gathering MDs in MpiMetadataPrograms.
Image< double > iniVol
Phantom Xmipp volume.
Definition: project_xray.h:65
glob_prnt iter
virtual IdIteratorProxy< false > ids()
XRayPSF psf
Xray PSF Object.
Definition: idr_xray_tomo.h:58
FileName fnOutVol
Reconstructed output volume file name.
Definition: idr_xray_tomo.h:50
size_t size() const override
XrayProjPhantom phantom
Definition: idr_xray_tomo.h:86
void log(Image< double > &op)
double * lambda
#define XSIZE(v)
#define FOR_ALL_DIRECT_ELEMENTS_IN_MULTIDIMARRAY(v)
#define NZYXSIZE(v)
int verbose
Verbosity level.
void alias(const MultidimArray< T > &m)
bool getValue(MDObject &mdValueOut, size_t id) const override
void setProgress(size_t value=0)
void read(const ParametersProjectionTomography &prm)
double psi(const double x)
Projection proj
Definition: idr_xray_tomo.h:87
MetaDataVec projMD
Definition: idr_xray_tomo.h:84
int read(const FileName &name, DataMode datamode=DATA, size_t select_img=ALL_IMAGES, bool mapData=false, int mode=WRITE_READONLY)
FileName fnInterProjs
Definition: idr_xray_tomo.h:46
void setAngles(double _rot, double _tilt, double _psi)
FileName fnInterProjsMD
Definition: idr_xray_tomo.h:47
int * n
Name of an image (std::string)
Matrix1D< double > lambda_list
Relaxation parameter.
Definition: idr_xray_tomo.h:70
enum ProgIDRXrayTomo::@5 reconsMethod

Member Data Documentation

◆ fnInputProjMD

FileName ProgIDRXrayTomo::fnInputProjMD

Metadafile with angles and projection file names.

Definition at line 43 of file idr_xray_tomo.h.

◆ fnInterAngles

FileName ProgIDRXrayTomo::fnInterAngles

Definition at line 48 of file idr_xray_tomo.h.

◆ fnInterProjs

FileName ProgIDRXrayTomo::fnInterProjs

Definition at line 46 of file idr_xray_tomo.h.

◆ fnInterProjsMD

FileName ProgIDRXrayTomo::fnInterProjsMD

Definition at line 47 of file idr_xray_tomo.h.

◆ fnOutVol

FileName ProgIDRXrayTomo::fnOutVol

Reconstructed output volume file name.

Definition at line 50 of file idr_xray_tomo.h.

◆ fnPSF

FileName ProgIDRXrayTomo::fnPSF

Xray Microscope PSF Parameters.

Definition at line 56 of file idr_xray_tomo.h.

◆ fnRootInter

FileName ProgIDRXrayTomo::fnRootInter

Rootname for intermediate/exchange projections metadatas and files.

Definition at line 45 of file idr_xray_tomo.h.

◆ fnStart

FileName ProgIDRXrayTomo::fnStart

Initial volume.

Definition at line 52 of file idr_xray_tomo.h.

◆ interProjMD

MetaDataVec ProgIDRXrayTomo::interProjMD

Definition at line 85 of file idr_xray_tomo.h.

◆ itNum

int ProgIDRXrayTomo::itNum

Number of iterations.

Definition at line 68 of file idr_xray_tomo.h.

◆ lambda_list

Matrix1D<double> ProgIDRXrayTomo::lambda_list

Relaxation parameter.

Definition at line 70 of file idr_xray_tomo.h.

◆ muVol

Image<double> ProgIDRXrayTomo::muVol

Definition at line 83 of file idr_xray_tomo.h.

◆ nThr

int ProgIDRXrayTomo::nThr

Number of threads;.

Definition at line 64 of file idr_xray_tomo.h.

◆ phantom

XrayProjPhantom ProgIDRXrayTomo::phantom

Definition at line 86 of file idr_xray_tomo.h.

◆ proj

Projection ProgIDRXrayTomo::proj

Definition at line 87 of file idr_xray_tomo.h.

◆ projMD

MetaDataVec ProgIDRXrayTomo::projMD

Definition at line 84 of file idr_xray_tomo.h.

◆ psf

XRayPSF ProgIDRXrayTomo::psf

Xray PSF Object.

Definition at line 58 of file idr_xray_tomo.h.

◆ psfThr

double ProgIDRXrayTomo::psfThr

threshold for psfSlabs

Definition at line 60 of file idr_xray_tomo.h.

◆ reconsMethod

enum { ... } ProgIDRXrayTomo::reconsMethod

◆ reconsProgram

ProgReconsBase* ProgIDRXrayTomo::reconsProgram

Definition at line 81 of file idr_xray_tomo.h.

◆ sampling

double ProgIDRXrayTomo::sampling

Definition at line 62 of file idr_xray_tomo.h.

◆ td

ParallelTaskDistributor* ProgIDRXrayTomo::td

Definition at line 88 of file idr_xray_tomo.h.


The documentation for this class was generated from the following files: