+ Reconstructor* pReconstructor = new Reconstructor (m_pProjView->GetDocument()->getProjections(),
+ *m_pImageFile, m_strFilterName.c_str(), m_dFilterParam, m_strFilterMethod.c_str(), m_iZeropad,
+ m_strFilterGenerationName.c_str(), m_strInterpName.c_str(), m_iInterpParam, m_strBackprojectName.c_str(), Trace::TRACE_NONE);
+ if (pReconstructor->fail()) {
+ wxString msg;
+ msg.Printf("Unable to make reconstructor: %s", pReconstructor->failMessage());
+ wxCommandEvent event( wxEVT_COMMAND_MENU_SELECTED, BackgroundSupervisor::MSG_WORKER_THREAD_FAIL );
+ event.SetString( msg );
+ wxPostEvent( theApp->getMainFrame(), event ); // send in a thread-safe way
+ return reinterpret_cast<wxThread::ExitCode>(-1);
+ }
+
+ wxCommandEvent eventProgress (wxEVT_COMMAND_MENU_SELECTED, BackgroundSupervisor::MSG_WORKER_THREAD_UNIT_TICK);