X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=src%2Fviews.cpp;h=f8efe44f6949a45e748e8dc7c00c611734c8846c;hp=cf8497bd9b894b7237275c67a5b89c36dbd02071;hb=ed576a069b0ba9de2e9153707012eba620ac606e;hpb=e96390a84a8df18305c63263466c522fbc680055 diff --git a/src/views.cpp b/src/views.cpp index cf8497b..f8efe44 100644 --- a/src/views.cpp +++ b/src/views.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: views.cpp,v 1.54 2001/01/07 23:18:13 kevin Exp $ +** $Id: views.cpp,v 1.60 2001/01/12 21:53:27 kevin Exp $ ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License (version 2) as @@ -1056,7 +1056,8 @@ ImageFileView::OnPlotRow (wxCommandEvent& event) if (v != NULL && yCursor < ny) { double* pX = new double [nx]; double* pYReal = new double [nx]; - double *pYImag, *pYMag; + double *pYImag = NULL; + double *pYMag = NULL; if (rIF.isComplex()) { pYImag = new double [nx]; pYMag = new double [nx]; @@ -1103,7 +1104,7 @@ ImageFileView::OnPlotRow (wxCommandEvent& event) rPlotFile.addColumn (2, pYImag); rPlotFile.addColumn (3, pYMag); } - for (int iL = 0; iL < rIF.nLabels(); iL++) + for (unsigned int iL = 0; iL < rIF.nLabels(); iL++) rPlotFile.addDescription (rIF.labelGet(iL).getLabelString().c_str()); os << " Plot of " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str(); *theApp->getLog() << os.str().c_str() << "\n"; @@ -1139,7 +1140,8 @@ ImageFileView::OnPlotCol (wxCommandEvent& event) if (v != NULL && xCursor < nx) { double* pX = new double [ny]; double* pYReal = new double [ny]; - double *pYImag, *pYMag; + double* pYImag = NULL; + double* pYMag = NULL; if (rIF.isComplex()) { pYImag = new double [ny]; pYMag = new double [ny]; @@ -1186,7 +1188,7 @@ ImageFileView::OnPlotCol (wxCommandEvent& event) rPlotFile.addColumn (2, pYImag); rPlotFile.addColumn (3, pYMag); } - for (int iL = 0; iL < rIF.nLabels(); iL++) + for (unsigned int iL = 0; iL < rIF.nLabels(); iL++) rPlotFile.addDescription (rIF.labelGet(iL).getLabelString().c_str()); os << " Plot of " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str(); *theApp->getLog() << os.str().c_str() << "\n"; @@ -1460,19 +1462,19 @@ ImageFileView::OnCompareCol (wxCommandEvent& event) unsigned int iL; for (iL = 0; iL < rIF.nLabels(); iL++) { - std::string s = GetDocument()->GetFirstView()->GetFrame()->GetTitle(); + std::string s = GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str(); s += ": "; s += rIF.labelGet(iL).getLabelString(); rPlotFile.addDescription (s.c_str()); } - for (iL = 0; iL < rIF.nLabels(); iL++) { - std::string s = pCompareDoc->GetFirstView()->GetFrame()->GetTitle(); + for (iL = 0; iL < rCompareIF.nLabels(); iL++) { + std::string s = pCompareDoc->GetFirstView()->GetFrame()->GetTitle().c_str(); s += ": "; s += rCompareIF.labelGet(iL).getLabelString(); rPlotFile.addDescription (s.c_str()); } - os << " Between " << GetDocument()->GetFirstView()->GetFrame()->GetTitle() << " and " - << pCompareDoc->GetFirstView()->GetFrame()->GetTitle(); + os << " Between " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str() << " and " + << pCompareDoc->GetFirstView()->GetFrame()->GetTitle().c_str(); *theApp->getLog() << os.str().c_str() << "\n"; rPlotFile.addDescription (os.str().c_str()); } @@ -1550,19 +1552,19 @@ ImageFileView::OnCompareRow (wxCommandEvent& event) rPlotFile.addColumn (2, pY2); unsigned int iL; for (iL = 0; iL < rIF.nLabels(); iL++) { - std::string s = GetDocument()->GetFirstView()->GetFrame()->GetTitle(); + std::string s = GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str(); s += ": "; s += rIF.labelGet(iL).getLabelString(); rPlotFile.addDescription (s.c_str()); } - for (iL = 0; iL < rIF.nLabels(); iL++) { - std::string s = pCompareDoc->GetFirstView()->GetFrame()->GetTitle(); + for (iL = 0; iL < rCompareIF.nLabels(); iL++) { + std::string s = pCompareDoc->GetFirstView()->GetFrame()->GetTitle().c_str(); s += ": "; s += rCompareIF.labelGet(iL).getLabelString(); rPlotFile.addDescription (s.c_str()); } - os << " Between " << GetDocument()->GetFirstView()->GetFrame()->GetTitle() << " and " - << pCompareDoc->GetFirstView()->GetFrame()->GetTitle(); + os << " Between " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str() << " and " + << pCompareDoc->GetFirstView()->GetFrame()->GetTitle().c_str(); *theApp->getLog() << os.str().c_str() << "\n"; rPlotFile.addDescription (os.str().c_str()); } @@ -1624,12 +1626,12 @@ ImageFileView::OnPlotHistogram (wxCommandEvent& event) rPlotFile.addColumn (0, pX); rPlotFile.addColumn (1, pY); for (unsigned int iL = 0; iL < rIF.nLabels(); iL++) { - std::string s = GetDocument()->GetFirstView()->GetFrame()->GetTitle(); + std::string s = GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str(); s += ": "; s += rIF.labelGet(iL).getLabelString(); rPlotFile.addDescription (s.c_str()); } - os << " Plot of " << GetDocument()->GetFirstView()->GetFrame()->GetTitle(); + os << " Plot of " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str(); *theApp->getLog() << os.str().c_str() << "\n"; rPlotFile.addDescription (os.str().c_str()); delete pX; @@ -2007,7 +2009,7 @@ ProjectionFileView::ProjectionFileView(void) m_dDefaultFilterParam = 1.; #if HAVE_FFTW m_iDefaultFilterMethod = ProcessSignal::FILTER_METHOD_RFFTW; - m_iDefaultFilterGeneration = ProcessSignal::FILTER_GENERATION_INVERSE_FOURIER; + m_iDefaultFilterGeneration = ProcessSignal::FILTER_GENERATION_DIRECT; #else m_iDefaultFilterMethod = ProcessSignal::FILTER_METHOD_CONVOLUTION; m_iDefaultFilterGeneration = ProcessSignal::FILTER_GENERATION_DIRECT; @@ -2145,11 +2147,6 @@ ProjectionFileView::OnReconstructFBP (wxCommandEvent& event) const Projections& rProj = GetDocument()->getProjections(); imageFile.setArraySize (m_iDefaultNX, m_iDefaultNY); - if (m_iDefaultFilterMethod != ProcessSignal::FILTER_METHOD_CONVOLUTION && m_iDefaultFilterGeneration == ProcessSignal::FILTER_GENERATION_DIRECT && rProj.geometry() != Scanner::GEOMETRY_PARALLEL) { - wxMessageBox ("Sorry!\nCurrently, frequency-based filtering with direct filter generation is not support for geometries other than parallel.\nAborting command.", "Not Supported", wxOK | wxICON_WARNING, m_frame); - return; - } - Reconstructor* pReconstruct = new Reconstructor (rProj, imageFile, optFilterName.c_str(), m_dDefaultFilterParam, optFilterMethodName.c_str(), m_iDefaultZeropad, optFilterGenerationName.c_str(), optInterpName.c_str(), m_iDefaultInterpParam, optBackprojectName.c_str(), m_iDefaultTrace); Timer timerRecon;