Commit 8639adb7 authored by David Rohr's avatar David Rohr

fix file endings

parent 4a123b50
...@@ -57,8 +57,8 @@ int bioem::configure(int ac, char* av[]) ...@@ -57,8 +57,8 @@ int bioem::configure(int ac, char* av[])
param.writeAngles = false; param.writeAngles = false;
param.dumpMap = false; param.dumpMap = false;
param.loadMap = false; param.loadMap = false;
RefMap.readMRC = false; RefMap.readMRC = false;
RefMap.readMultMRC = false; RefMap.readMultMRC = false;
// ************************************************************************************* // *************************************************************************************
cout << " ++++++++++++ FROM COMMAND LINE +++++++++++\n\n"; cout << " ++++++++++++ FROM COMMAND LINE +++++++++++\n\n";
...@@ -68,17 +68,17 @@ int bioem::configure(int ac, char* av[]) ...@@ -68,17 +68,17 @@ int bioem::configure(int ac, char* av[])
try { try {
po::options_description desc("Command line inputs"); po::options_description desc("Command line inputs");
desc.add_options() desc.add_options()
("Inputfile", po::value<std::string>(), "(Mandatory) Name of input parameter file") ("Inputfile", po::value<std::string>(), "(Mandatory) Name of input parameter file")
("Modelfile", po::value< std::string>() , "(Mandatory) Name of model file") ("Modelfile", po::value< std::string>() , "(Mandatory) Name of model file")
("Particlesfile", po::value< std::string>(), "(Mandatory) Name of paricles file") ("Particlesfile", po::value< std::string>(), "(Mandatory) Name of paricles file")
("ReadPDB", "(Optional) If reading model file in PDB format") ("ReadPDB", "(Optional) If reading model file in PDB format")
("ReadMRC", "(Optional) If reading particle file in MRC format") ("ReadMRC", "(Optional) If reading particle file in MRC format")
("ReadMultipleMRC", "(Optional) If reading Multiple MRCs") ("ReadMultipleMRC", "(Optional) If reading Multiple MRCs")
("DumpMaps", "(Optional) Dump maps after they were red from maps file") ("DumpMaps", "(Optional) Dump maps after they were red from maps file")
("LoadMapDump", "(Optional) Read Maps from dump instead of maps file") ("LoadMapDump", "(Optional) Read Maps from dump instead of maps file")
("help", "(Optional) Produce help message") ("help", "(Optional) Produce help message")
; ;
po::positional_options_description p; po::positional_options_description p;
...@@ -86,8 +86,8 @@ int bioem::configure(int ac, char* av[]) ...@@ -86,8 +86,8 @@ int bioem::configure(int ac, char* av[])
p.add("Modelfile", -1); p.add("Modelfile", -1);
p.add("Particlesfile", -1); p.add("Particlesfile", -1);
p.add("ReadPDB", -1); p.add("ReadPDB", -1);
p.add("ReadMRC", -1); p.add("ReadMRC", -1);
p.add("ReadMultipleMRC", -1); p.add("ReadMultipleMRC", -1);
p.add("DumpMaps", -1); p.add("DumpMaps", -1);
p.add("LoadMapDump", -1); p.add("LoadMapDump", -1);
...@@ -125,17 +125,17 @@ int bioem::configure(int ac, char* av[]) ...@@ -125,17 +125,17 @@ int bioem::configure(int ac, char* av[])
Model.readPDB = true; Model.readPDB = true;
} }
if (vm.count("ReadMRC")) if (vm.count("ReadMRC"))
{ {
cout << "Reading particle file in MRC format.\n"; cout << "Reading particle file in MRC format.\n";
RefMap.readMRC=true; RefMap.readMRC=true;
} }
if (vm.count("ReadMultipleMRC")) if (vm.count("ReadMultipleMRC"))
{ {
cout << "Reading Multiple MRCs.\n"; cout << "Reading Multiple MRCs.\n";
RefMap.readMultMRC=true; RefMap.readMultMRC=true;
} }
if (vm.count("DumpMaps")) if (vm.count("DumpMaps"))
{ {
...@@ -379,8 +379,8 @@ int bioem::run() ...@@ -379,8 +379,8 @@ int bioem::run()
int bioem::compareRefMaps(int iOrient, int iConv, const myfloat_t* conv_map, mycomplex_t* localmultFFT, myfloat_t sumC, myfloat_t sumsquareC, const int startMap) int bioem::compareRefMaps(int iOrient, int iConv, const myfloat_t* conv_map, mycomplex_t* localmultFFT, myfloat_t sumC, myfloat_t sumsquareC, const int startMap)
{ {
//*************************************************************************************** //***************************************************************************************
//***** BioEM routine for comparing reference maps to convoluted maps ***** //***** BioEM routine for comparing reference maps to convoluted maps *****
if (FFTAlgo) if (FFTAlgo)
{ {
//With FFT Algorithm //With FFT Algorithm
...@@ -405,8 +405,8 @@ int bioem::compareRefMaps(int iOrient, int iConv, const myfloat_t* conv_map, myc ...@@ -405,8 +405,8 @@ int bioem::compareRefMaps(int iOrient, int iConv, const myfloat_t* conv_map, myc
inline void bioem::calculateCCFFT(int iRefMap, int iOrient, int iConv, myfloat_t sumC, myfloat_t sumsquareC, mycomplex_t* localConvFFT, mycomplex_t* localCCT, myfloat_t* lCC) inline void bioem::calculateCCFFT(int iRefMap, int iOrient, int iConv, myfloat_t sumC, myfloat_t sumsquareC, mycomplex_t* localConvFFT, mycomplex_t* localCCT, myfloat_t* lCC)
{ {
//*************************************************************************************** //***************************************************************************************
//***** Calculating cross correlation in FFTALGOrithm ***** //***** Calculating cross correlation in FFTALGOrithm *****
const mycomplex_t* RefMapFFT = &RefMap.RefMapsFFT[iRefMap * param.FFTMapSize]; const mycomplex_t* RefMapFFT = &RefMap.RefMapsFFT[iRefMap * param.FFTMapSize];
for(int i = 0; i < param.param_device.NumberPixels * param.param_device.NumberFFTPixels1D; i++) for(int i = 0; i < param.param_device.NumberPixels * param.param_device.NumberFFTPixels1D; i++)
......
...@@ -34,16 +34,16 @@ public: ...@@ -34,16 +34,16 @@ public:
int precalculate(bioem_param& param, bioem& bio); int precalculate(bioem_param& param, bioem& bio);
int PreCalculateMapsFFT(bioem_param& param); int PreCalculateMapsFFT(bioem_param& param);
int read_int(int *currlong, FILE *fin, int swap); int read_int(int *currlong, FILE *fin, int swap);
int read_float(float *currfloat, FILE *fin, int swap); int read_float(float *currfloat, FILE *fin, int swap);
int read_float_empty (FILE *fin); int read_float_empty (FILE *fin);
int read_char_float (float *currfloat, FILE *fin) ; int read_char_float (float *currfloat, FILE *fin) ;
int test_mrc (const char *vol_file, int swap); int test_mrc (const char *vol_file, int swap);
int read_MRC(const char* filename,bioem_param& param); int read_MRC(const char* filename,bioem_param& param);
mycomplex_t* RefMapsFFT; mycomplex_t* RefMapsFFT;
bool readMRC,readMultMRC; bool readMRC,readMultMRC;
int ntotRefMap; int ntotRefMap;
int numPixels; int numPixels;
......
This diff is collapsed.
...@@ -42,22 +42,22 @@ int bioem_param::readParameters() ...@@ -42,22 +42,22 @@ int bioem_param::readParameters()
// ***************************** Reading Input Parameters ****************************** // ***************************** Reading Input Parameters ******************************
// ************************************************************************************** // **************************************************************************************
// Control for Parameters // Control for Parameters
bool yesPixSi = false; bool yesPixSi = false;
bool yesNumPix = false; bool yesNumPix = false;
bool yesGPal = false; bool yesGPal = false;
bool yesGPbe = false; bool yesGPbe = false;
bool yesGPEnv = false; bool yesGPEnv = false;
bool yesGPamp = false; bool yesGPamp = false;
bool yesGPpha = false; bool yesGPpha = false;
bool yesSTEnv = false; bool yesSTEnv = false;
bool yesSTamp = false; bool yesSTamp = false;
bool yesSTpha = false; bool yesSTpha = false;
bool yesGSPamp = false ; bool yesGSPamp = false ;
bool yesGSPEnv = false ; bool yesGSPEnv = false ;
bool yesGSPpha = false ; bool yesGSPpha = false ;
bool yesMDC = false ; bool yesMDC = false ;
bool yesGCen = false ; bool yesGCen = false ;
ifstream input(fileinput); ifstream input(fileinput);
if (!input.good()) if (!input.good())
...@@ -87,116 +87,116 @@ int bioem_param::readParameters() ...@@ -87,116 +87,116 @@ int bioem_param::readParameters()
{ {
token = strtok(NULL, " "); token = strtok(NULL, " ");
pixelSize = atof(token); pixelSize = atof(token);
if (pixelSize < 0 ) { cout << "*** Error: Negative pixelSize "; exit(1);} if (pixelSize < 0 ) { cout << "*** Error: Negative pixelSize "; exit(1);}
cout << "Pixel Sixe " << pixelSize << "\n"; cout << "Pixel Sixe " << pixelSize << "\n";
yesPixSi= true; yesPixSi= true;
} }
else if (strcmp(token, "NUMBER_PIXELS") == 0) else if (strcmp(token, "NUMBER_PIXELS") == 0)
{ {
token = strtok(NULL, " "); token = strtok(NULL, " ");
param_device.NumberPixels = int(atoi(token)); param_device.NumberPixels = int(atoi(token));
if (param_device.NumberPixels < 0 ) { cout << "*** Error: Negative Number of Pixels "; exit(1);} if (param_device.NumberPixels < 0 ) { cout << "*** Error: Negative Number of Pixels "; exit(1);}
cout << "Number of Pixels " << param_device.NumberPixels << "\n"; cout << "Number of Pixels " << param_device.NumberPixels << "\n";
yesNumPix= true ; yesNumPix= true ;
} }
else if (strcmp(token, "GRIDPOINTS_ALPHA") == 0) else if (strcmp(token, "GRIDPOINTS_ALPHA") == 0)
{ {
token = strtok(NULL, " "); token = strtok(NULL, " ");
angleGridPointsAlpha = int(atoi(token)); angleGridPointsAlpha = int(atoi(token));
if (angleGridPointsAlpha < 0 ) { cout << "*** Error: Negative GRIDPOINTS_ALPHA "; exit(1);} if (angleGridPointsAlpha < 0 ) { cout << "*** Error: Negative GRIDPOINTS_ALPHA "; exit(1);}
cout << "Grid points alpha " << angleGridPointsAlpha << "\n"; cout << "Grid points alpha " << angleGridPointsAlpha << "\n";
yesGPal= true; yesGPal= true;
} }
else if (strcmp(token, "GRIDPOINTS_BETA") == 0) else if (strcmp(token, "GRIDPOINTS_BETA") == 0)
{ {
token = strtok(NULL, " "); token = strtok(NULL, " ");
angleGridPointsBeta = int(atoi(token)); angleGridPointsBeta = int(atoi(token));
if (angleGridPointsBeta < 0 ) { cout << "*** Error: Negative GRIDPOINTS_BETA "; exit(1);} if (angleGridPointsBeta < 0 ) { cout << "*** Error: Negative GRIDPOINTS_BETA "; exit(1);}
cout << "Grid points beta " << angleGridPointsBeta << "\n"; cout << "Grid points beta " << angleGridPointsBeta << "\n";
yesGPbe= true; yesGPbe= true;
} }
else if (strcmp(token, "GRIDPOINTS_ENVELOPE") == 0) else if (strcmp(token, "GRIDPOINTS_ENVELOPE") == 0)
{ {
token = strtok(NULL, " "); token = strtok(NULL, " ");
numberGridPointsEnvelop = int(atoi(token)); numberGridPointsEnvelop = int(atoi(token));
if (numberGridPointsDisplaceCenter < 0 ) { cout << "*** Error: Negative GRIDPOINTS_ENVELOPE "; exit(1);} if (numberGridPointsDisplaceCenter < 0 ) { cout << "*** Error: Negative GRIDPOINTS_ENVELOPE "; exit(1);}
cout << "Grid points envelope " << numberGridPointsEnvelop << "\n"; cout << "Grid points envelope " << numberGridPointsEnvelop << "\n";
yesGPEnv = true; yesGPEnv = true;
} }
else if (strcmp(token, "START_ENVELOPE") == 0) else if (strcmp(token, "START_ENVELOPE") == 0)
{ {
token = strtok(NULL, " "); token = strtok(NULL, " ");
startGridEnvelop = atof(token); startGridEnvelop = atof(token);
if (startGridEnvelop < 0 ) { cout << "*** Error: Negative START_ENVELOPE "; exit(1);} if (startGridEnvelop < 0 ) { cout << "*** Error: Negative START_ENVELOPE "; exit(1);}
cout << "Start Envelope " << startGridEnvelop << "\n"; cout << "Start Envelope " << startGridEnvelop << "\n";
yesSTEnv = true ; yesSTEnv = true ;
} }
else if (strcmp(token, "GRIDSPACE_ENVELOPE") == 0) else if (strcmp(token, "GRIDSPACE_ENVELOPE") == 0)
{ {
token = strtok(NULL, " "); token = strtok(NULL, " ");
gridEnvelop = atof(token); gridEnvelop = atof(token);
if (gridEnvelop < 0 ) { cout << "*** Error: Negative GRIDSPACE_ENVELOPE "; exit(1);} if (gridEnvelop < 0 ) { cout << "*** Error: Negative GRIDSPACE_ENVELOPE "; exit(1);}
cout << "Grid spacing Envelope " << gridEnvelop << "\n"; cout << "Grid spacing Envelope " << gridEnvelop << "\n";
yesGSPEnv = true ; yesGSPEnv = true ;
}
else if (strcmp(token,"GRIDPOINTS_PSF_PHASE")==0)
{
token = strtok(NULL," ");
numberGridPointsCTF_phase=int(atoi(token));
cout << "Grid points PSF " << numberGridPointsCTF_phase << "\n";
yesGPpha = true;
}
else if (strcmp(token,"START_PSF_PHASE")==0)
{
token = strtok(NULL," ");
startGridCTF_phase=atof(token);
cout << "Start PSF " << startGridCTF_phase << "\n";
yesSTpha = true ;
}
else if (strcmp(token,"GRIDSPACE_PSF_PHASE")==0)
{
token = strtok(NULL," ");
gridCTF_phase=atof(token);
cout << "Grid Space PSF " << gridCTF_phase << "\n";
yesGSPpha = true ;
}
else if (strcmp(token,"GRIDPOINTS_PSF_AMP")==0)
{
token = strtok(NULL," ");
numberGridPointsCTF_amp=int(atoi(token));
cout << "Grid points PSF " << numberGridPointsCTF_amp << "\n";
yesGPamp = true ;
}
else if (strcmp(token,"START_PSF_AMP")==0)
{
token = strtok(NULL," ");
startGridCTF_amp=atof(token);
cout << "Start PSF " << startGridCTF_amp << "\n";
yesSTamp = true ;
}
else if (strcmp(token,"GRIDSPACE_PSF_AMP")==0)
{
token = strtok(NULL," ");
gridCTF_amp=atof(token);
cout << "Grid Space PSF " << gridCTF_amp << "\n";
yesGSPamp = true ;
} }
else if (strcmp(token,"GRIDPOINTS_PSF_PHASE")==0)
{
token = strtok(NULL," ");
numberGridPointsCTF_phase=int(atoi(token));
cout << "Grid points PSF " << numberGridPointsCTF_phase << "\n";
yesGPpha = true;
}
else if (strcmp(token,"START_PSF_PHASE")==0)
{
token = strtok(NULL," ");
startGridCTF_phase=atof(token);
cout << "Start PSF " << startGridCTF_phase << "\n";
yesSTpha = true ;
}
else if (strcmp(token,"GRIDSPACE_PSF_PHASE")==0)
{
token = strtok(NULL," ");
gridCTF_phase=atof(token);
cout << "Grid Space PSF " << gridCTF_phase << "\n";
yesGSPpha = true ;
}
else if (strcmp(token,"GRIDPOINTS_PSF_AMP")==0)
{
token = strtok(NULL," ");
numberGridPointsCTF_amp=int(atoi(token));
cout << "Grid points PSF " << numberGridPointsCTF_amp << "\n";
yesGPamp = true ;
}
else if (strcmp(token,"START_PSF_AMP")==0)
{
token = strtok(NULL," ");
startGridCTF_amp=atof(token);
cout << "Start PSF " << startGridCTF_amp << "\n";
yesSTamp = true ;
}
else if (strcmp(token,"GRIDSPACE_PSF_AMP")==0)
{
token = strtok(NULL," ");
gridCTF_amp=atof(token);
cout << "Grid Space PSF " << gridCTF_amp << "\n";
yesGSPamp = true ;
}
else if (strcmp(token, "MAX_D_CENTER") == 0) else if (strcmp(token, "MAX_D_CENTER") == 0)
{ {
token = strtok(NULL, " "); token = strtok(NULL, " ");
param_device.maxDisplaceCenter = int(atoi(token)); param_device.maxDisplaceCenter = int(atoi(token));
if (param_device.maxDisplaceCenter < 0 ) { cout << "*** Error: Negative MAX_D_CENTER "; exit(1);} if (param_device.maxDisplaceCenter < 0 ) { cout << "*** Error: Negative MAX_D_CENTER "; exit(1);}
cout << "Maximum displacement Center " << param_device.maxDisplaceCenter << "\n"; cout << "Maximum displacement Center " << param_device.maxDisplaceCenter << "\n";
yesMDC = true; yesMDC = true;
} }
else if (strcmp(token, "PIXEL_GRID_CENTER") == 0) else if (strcmp(token, "PIXEL_GRID_CENTER") == 0)
{ {
token = strtok(NULL, " "); token = strtok(NULL, " ");
param_device.GridSpaceCenter = int(atoi(token)); param_device.GridSpaceCenter = int(atoi(token));
if (param_device.GridSpaceCenter < 0 ) { cout << "*** Error: Negative PIXEL_GRID_CENTER "; exit(1);} if (param_device.GridSpaceCenter < 0 ) { cout << "*** Error: Negative PIXEL_GRID_CENTER "; exit(1);}
cout << "Grid space displacement center " << param_device.GridSpaceCenter << "\n"; cout << "Grid space displacement center " << param_device.GridSpaceCenter << "\n";
yesGCen = true; yesGCen = true;
} }
else if (strcmp(token, "WRITE_PROB_ANGLES") == 0) else if (strcmp(token, "WRITE_PROB_ANGLES") == 0)
{ {
...@@ -206,41 +206,41 @@ int bioem_param::readParameters() ...@@ -206,41 +206,41 @@ int bioem_param::readParameters()
} }
input.close(); input.close();
// Checks for ALL INPUT // Checks for ALL INPUT
if( not ( yesPixSi ) ){ cout << "**** INPUT MISSING: Please provide PIXEL_SIZE\n" ; exit (1);}; if( not ( yesPixSi ) ){ cout << "**** INPUT MISSING: Please provide PIXEL_SIZE\n" ; exit (1);};
if( not ( yesNumPix ) ){ cout << "**** INPUT MISSING: Please provide NUMBER_PIXELS \n" ; exit (1);}; if( not ( yesNumPix ) ){ cout << "**** INPUT MISSING: Please provide NUMBER_PIXELS \n" ; exit (1);};
if( not ( yesGPal ) ) { cout << "**** INPUT MISSING: Please provide GRIDPOINTS_ALPHA \n" ; exit (1);}; if( not ( yesGPal ) ) { cout << "**** INPUT MISSING: Please provide GRIDPOINTS_ALPHA \n" ; exit (1);};
if( not ( yesGPbe ) ) { cout << "**** INPUT MISSING: Please provide GRIDPOINTS_BETA \n" ; exit (1);}; if( not ( yesGPbe ) ) { cout << "**** INPUT MISSING: Please provide GRIDPOINTS_BETA \n" ; exit (1);};
if( not ( yesGPEnv ) ) { cout << "**** INPUT MISSING: Please provide GRIDPOINTS_ENVELOPE \n" ; exit (1);}; if( not ( yesGPEnv ) ) { cout << "**** INPUT MISSING: Please provide GRIDPOINTS_ENVELOPE \n" ; exit (1);};
if( not ( yesGPamp ) ) { cout << "**** INPUT MISSING: Please provide GRIDPOINTS_PSF_AMP \n" ; exit (1);}; if( not ( yesGPamp ) ) { cout << "**** INPUT MISSING: Please provide GRIDPOINTS_PSF_AMP \n" ; exit (1);};
if( not ( yesGPpha ) ) { cout << "**** INPUT MISSING: Please provide GRIDPOINTS_PSF_PHASE \n" ; exit (1);}; if( not ( yesGPpha ) ) { cout << "**** INPUT MISSING: Please provide GRIDPOINTS_PSF_PHASE \n" ; exit (1);};
if( not ( yesSTEnv ) ) { cout << "**** INPUT MISSING: Please provide START_ENVELOPE \n" ; exit (1);}; if( not ( yesSTEnv ) ) { cout << "**** INPUT MISSING: Please provide START_ENVELOPE \n" ; exit (1);};
if( not ( yesSTamp ) ) { cout << "**** INPUT MISSING: Please provide START_PSF_AMP \n" ; exit (1);}; if( not ( yesSTamp ) ) { cout << "**** INPUT MISSING: Please provide START_PSF_AMP \n" ; exit (1);};
if( not ( yesSTpha ) ) { cout << "**** INPUT MISSING: Please provide START_PSF_PHASE \n" ; exit (1);}; if( not ( yesSTpha ) ) { cout << "**** INPUT MISSING: Please provide START_PSF_PHASE \n" ; exit (1);};
if( not ( yesGSPamp ) ) { cout << "**** INPUT MISSING: Please provide GRIDSPACE_PSF_AMP \n" ; exit (1);}; if( not ( yesGSPamp ) ) { cout << "**** INPUT MISSING: Please provide GRIDSPACE_PSF_AMP \n" ; exit (1);};
if( not ( yesGSPEnv ) ) { cout << "**** INPUT MISSING: Please provide GRIDSPACE_ENVELOPE \n" ; exit (1);}; if( not ( yesGSPEnv ) ) { cout << "**** INPUT MISSING: Please provide GRIDSPACE_ENVELOPE \n" ; exit (1);};
if( not ( yesGSPpha ) ) { cout << "**** INPUT MISSING: Please provide GRIDSPACE_PSF_PHASE \n" ; exit (1);}; if( not ( yesGSPpha ) ) { cout << "**** INPUT MISSING: Please provide GRIDSPACE_PSF_PHASE \n" ; exit (1);};
if( not ( yesMDC ) ) { cout << "**** INPUT MISSING: Please provide MAX_D_CENTER \n" ; exit (1);}; if( not ( yesMDC ) ) { cout << "**** INPUT MISSING: Please provide MAX_D_CENTER \n" ; exit (1);};
if( not ( yesGCen ) ) { cout << "**** INPUT MISSING: Please provide PIXEL_GRID_CENTER \n" ; exit (1);}; if( not ( yesGCen ) ) { cout << "**** INPUT MISSING: Please provide PIXEL_GRID_CENTER \n" ; exit (1);};
//More checks with input parameters //More checks with input parameters
// Envelope should not have a standard deviation greater than Npix/2 // Envelope should not have a standard deviation greater than Npix/2
if(sqrt(1./( (myfloat_t) numberGridPointsDisplaceCenter * gridEnvelop + startGridEnvelop))> float(param_device.NumberPixels)/2.0) { if(sqrt(1./( (myfloat_t) numberGridPointsDisplaceCenter * gridEnvelop + startGridEnvelop))> float(param_device.NumberPixels)/2.0) {
cout << "MAX Standar deviation of envelope is larger than Allowed KERNEL Length " ; cout << "MAX Standar deviation of envelope is larger than Allowed KERNEL Length " ;
exit(1); exit(1);
} }
// Envelop param should be positive // Envelop param should be positive
if( startGridCTF_amp < 0 || startGridCTF_amp > 1){ if( startGridCTF_amp < 0 || startGridCTF_amp > 1){
cout << "PSF Amplitud should be between 0 and 1 \n" ; cout << "PSF Amplitud should be between 0 and 1 \n" ;
exit(1); exit(1);
} }
if( (myfloat_t) numberGridPointsCTF_amp * gridCTF_amp + startGridCTF_amp < 0 || (myfloat_t) numberGridPointsCTF_amp * gridCTF_amp + startGridCTF_amp > 1){ if( (myfloat_t) numberGridPointsCTF_amp * gridCTF_amp + startGridCTF_amp < 0 || (myfloat_t) numberGridPointsCTF_amp * gridCTF_amp + startGridCTF_amp > 1){
cout << "PSF Amplitud should be between 0 and 1 \n" ; cout << "PSF Amplitud should be between 0 and 1 \n" ;
exit(1); exit(1);
} }
cout << " +++++++++++++++++++++++++++++++++++++++++ \n"; cout << " +++++++++++++++++++++++++++++++++++++++++ \n";
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment