X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fviews.cpp;h=25abfbf151ab12eca4de005b89e86c69c1bf87b9;hb=94efe525feb1c248cb86c0f40f1322fdbb1f28bb;hp=557bc2f2ef79b548bc2ed47f8b7256d8091f4e88;hpb=3f6c94c6bd432ad7b7a55ad991d3b8223fb44f18;p=ctsim.git diff --git a/src/views.cpp b/src/views.cpp index 557bc2f..25abfbf 100644 --- a/src/views.cpp +++ b/src/views.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: views.cpp,v 1.108 2001/02/20 04:48:45 kevin Exp $ +** $Id: views.cpp,v 1.110 2001/02/20 18:10:45 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 @@ -1825,7 +1825,7 @@ PhantomFileView::PhantomFileView() m_iDefaultNDet = 367; m_iDefaultNView = 320; #endif - m_iDefaultNSample = 1; + m_iDefaultNSample = 2; m_dDefaultRotation = 1; m_dDefaultFocalLength = 2; m_dDefaultViewRatio = 1; @@ -2281,21 +2281,26 @@ ProjectionFileView::OnConvertPolar (wxCommandEvent& event) m_iDefaultPolarNX = dialogPolar.getXSize(); m_iDefaultPolarNY = dialogPolar.getYSize(); ImageFileDocument* pPolarDoc = theApp->newImageDoc(); - ImageFile& rIF = pPolarDoc->getImageFile(); + ImageFile* pIF = new ImageFile (m_iDefaultPolarNX, m_iDefaultPolarNY); + m_iDefaultPolarInterpolation = Projections::convertInterpNameToID (strInterpolation.c_str()); + if (! rProj.convertPolar (*pIF, m_iDefaultPolarInterpolation)) { + delete pIF; + *theApp->getLog() << "Error converting to Polar\n"; + return; + } + pPolarDoc = theApp->newImageDoc (); if (! pPolarDoc) { sys_error (ERR_SEVERE, "Unable to create image file"); return; } - rIF.setArraySize (m_iDefaultPolarNX, m_iDefaultPolarNY); - m_iDefaultPolarInterpolation = Projections::convertInterpNameToID (strInterpolation.c_str()); - rProj.convertPolar (rIF, m_iDefaultPolarInterpolation); - rIF.labelAdd (rProj.getLabel().getLabelString().c_str(), rProj.calcTime()); + pPolarDoc->setImageFile (pIF); + pIF->labelAdd (rProj.getLabel().getLabelString().c_str(), rProj.calcTime()); std::ostringstream os; os << "Convert projection file " << GetFrame()->GetTitle().c_str() << " to polar image: xSize=" << m_iDefaultPolarNX << ", ySize=" << m_iDefaultPolarNY << ", interpolation=" << strInterpolation.c_str(); *theApp->getLog() << os.str().c_str() << "\n"; - rIF.labelAdd (os.str().c_str()); + pIF->labelAdd (os.str().c_str()); if (theApp->getAskDeleteNewDocs()) pPolarDoc->Modify (true); pPolarDoc->UpdateAllViews (); @@ -2315,22 +2320,27 @@ ProjectionFileView::OnConvertFFTPolar (wxCommandEvent& event) m_iDefaultPolarNX = dialogPolar.getXSize(); m_iDefaultPolarNY = dialogPolar.getYSize(); m_iDefaultPolarZeropad = dialogPolar.getZeropad(); + ImageFile* pIF = new ImageFile (m_iDefaultPolarNX, m_iDefaultPolarNY); + + m_iDefaultPolarInterpolation = Projections::convertInterpNameToID (strInterpolation.c_str()); + if (! rProj.convertFFTPolar (*pIF, m_iDefaultPolarInterpolation, m_iDefaultPolarZeropad)) { + delete pIF; + *theApp->getLog() << "Error converting to polar\n"; + return; + } ImageFileDocument* pPolarDoc = theApp->newImageDoc(); - ImageFile& rIF = pPolarDoc->getImageFile(); if (! pPolarDoc) { sys_error (ERR_SEVERE, "Unable to create image file"); return; } - rIF.setArraySize (m_iDefaultPolarNX, m_iDefaultPolarNY); - m_iDefaultPolarInterpolation = Projections::convertInterpNameToID (strInterpolation.c_str()); - rProj.convertFFTPolar (rIF, m_iDefaultPolarInterpolation, m_iDefaultPolarZeropad); - rIF.labelAdd (rProj.getLabel().getLabelString().c_str(), rProj.calcTime()); + pPolarDoc->setImageFile (pIF); + pIF->labelAdd (rProj.getLabel().getLabelString().c_str(), rProj.calcTime()); std::ostringstream os; os << "Convert projection file " << GetFrame()->GetTitle().c_str() << " to FFT polar image: xSize=" << m_iDefaultPolarNX << ", ySize=" << m_iDefaultPolarNY << ", interpolation=" << strInterpolation.c_str() << ", zeropad=" << m_iDefaultPolarZeropad; *theApp->getLog() << os.str().c_str() << "\n"; - rIF.labelAdd (os.str().c_str()); + pIF->labelAdd (os.str().c_str()); if (theApp->getAskDeleteNewDocs()) pPolarDoc->Modify (true); pPolarDoc->UpdateAllViews ();