QmitkQBallReconstructionView. More...
#include <QmitkQBallReconstructionView.h>
Public Member Functions | |
QmitkQBallReconstructionView () | |
virtual | ~QmitkQBallReconstructionView () |
virtual void | CreateQtPartControl (QWidget *parent) |
virtual void | CreateConnections () |
Creation of the connections of main and control widget. | |
virtual void | Activated () |
Called when the functionality is activated. | |
virtual void | Deactivated () |
virtual void | StdMultiWidgetAvailable (QmitkStdMultiWidget &stdMultiWidget) |
virtual void | StdMultiWidgetNotAvailable () |
Static Public Attributes | |
static const std::string | VIEW_ID = "org.mitk.views.qballreconstruction" |
static const int | nrconvkernels = 252 |
Protected Slots | |
void | ReconstructStandard () |
void | AdvancedCheckboxClicked () |
void | MethodChoosen (int method) |
void | Reconstruct (int method, int normalization) |
void | NumericalQBallReconstruction (mitk::DataStorage::SetOfObjects::Pointer inImages, int normalization) |
void | AnalyticalQBallReconstruction (mitk::DataStorage::SetOfObjects::Pointer inImages, int normalization) |
Protected Member Functions | |
template<int L> | |
void | TemplatedAnalyticalQBallReconstruction (mitk::DiffusionImage< DiffusionPixelType > *vols, float lambda, std::string nodename, std::vector< mitk::DataNode::Pointer > *nodes, int normalization) |
void | SetDefaultNodeProperties (mitk::DataNode::Pointer node, std::string name) |
Protected Attributes | |
Ui::QmitkQBallReconstructionViewControls * | m_Controls |
QmitkStdMultiWidget * | m_MultiWidget |
berry::ISelectionListener::Pointer | m_SelListener |
berry::IStructuredSelection::ConstPointer | m_CurrentSelection |
Friends | |
struct | QbrSelListener |
Document your class here.
Definition at line 47 of file QmitkQBallReconstructionView.h.
QmitkQBallReconstructionView::QmitkQBallReconstructionView | ( | ) |
Definition at line 130 of file QmitkQBallReconstructionView.cpp.
: QmitkFunctionality(), m_Controls(NULL), m_MultiWidget(NULL) { }
QmitkQBallReconstructionView::~QmitkQBallReconstructionView | ( | ) | [virtual] |
Definition at line 174 of file QmitkQBallReconstructionView.cpp.
References berry::WorkbenchPart::GetSite(), and m_SelListener.
{ this->GetSite()->GetWorkbenchWindow()->GetSelectionService()->RemovePostSelectionListener(/*"org.mitk.views.datamanager",*/ m_SelListener); }
void QmitkQBallReconstructionView::Activated | ( | ) | [virtual] |
Called when the functionality is activated.
Reimplemented from QmitkFunctionality.
Definition at line 235 of file QmitkQBallReconstructionView.cpp.
References berry::SmartPointer< TObjectType >::Cast(), berry::WorkbenchPart::GetSite(), m_CurrentSelection, and m_SelListener.
{ QmitkFunctionality::Activated(); berry::ISelection::ConstPointer sel( this->GetSite()->GetWorkbenchWindow()->GetSelectionService()->GetSelection("org.mitk.views.datamanager")); m_CurrentSelection = sel.Cast<const IStructuredSelection>(); m_SelListener.Cast<QbrSelListener>()->DoSelectionChanged(sel); }
void QmitkQBallReconstructionView::AdvancedCheckboxClicked | ( | ) | [protected, slot] |
Definition at line 330 of file QmitkQBallReconstructionView.cpp.
References Ui_QmitkQBallReconstructionViewControls::frame_2, Ui_QmitkQBallReconstructionViewControls::label_2, m_Controls, Ui_QmitkQBallReconstructionViewControls::m_OutputB0Image, Ui_QmitkQBallReconstructionViewControls::m_QBallReconstructionLambdaLineEdit, Ui_QmitkQBallReconstructionViewControls::m_QBallReconstructionLambdaTextLabel_2, Ui_QmitkQBallReconstructionViewControls::m_QBallReconstructionMaxLLevelComboBox, Ui_QmitkQBallReconstructionViewControls::m_QBallReconstructionMaxLLevelTextLabel_2, Ui_QmitkQBallReconstructionViewControls::m_QBallReconstructionNumberThreadsLabel_2, Ui_QmitkQBallReconstructionViewControls::m_QBallReconstructionNumberThreadsSpinbox, Ui_QmitkQBallReconstructionViewControls::m_QBallReconstructionThreasholdEdit, and Ui_QmitkQBallReconstructionViewControls::m_QBallReconstructionThresholdLabel_2.
Referenced by CreateConnections(), and CreateQtPartControl().
{ bool check = m_Controls-> m_AdvancedCheckbox->isChecked(); m_Controls->m_QBallReconstructionMaxLLevelTextLabel_2->setVisible(check); m_Controls->m_QBallReconstructionMaxLLevelComboBox->setVisible(check); m_Controls->m_QBallReconstructionLambdaTextLabel_2->setVisible(check); m_Controls->m_QBallReconstructionLambdaLineEdit->setVisible(check); m_Controls->m_QBallReconstructionThresholdLabel_2->setVisible(check); m_Controls->m_QBallReconstructionThreasholdEdit->setVisible(check); m_Controls->m_OutputB0Image->setVisible(check); m_Controls->m_QBallReconstructionNumberThreadsLabel_2->setVisible(check); m_Controls->m_QBallReconstructionNumberThreadsSpinbox->setVisible(check); m_Controls->label_2->setVisible(check); //m_Controls->textLabel1_2->setVisible(check); //m_Controls->m_QBallReconstructionLambdaStepLineEdit->setVisible(check); //m_Controls->textLabel1_3->setVisible(check); m_Controls->frame_2->setVisible(check); }
void QmitkQBallReconstructionView::AnalyticalQBallReconstruction | ( | mitk::DataStorage::SetOfObjects::Pointer | inImages, |
int | normalization | ||
) | [protected, slot] |
Definition at line 511 of file QmitkQBallReconstructionView.cpp.
References QmitkFunctionality::GetDefaultDataStorage(), mitk::StatusBar::GetInstance(), mitk::ProgressBar::GetInstance(), m_Controls, m_MultiWidget, Ui_QmitkQBallReconstructionViewControls::m_QBallReconstructionLambdaLineEdit, Ui_QmitkQBallReconstructionViewControls::m_QBallReconstructionMaxLLevelComboBox, MBI_DEBUG, MBI_INFO, and QmitkStdMultiWidget::RequestUpdate().
Referenced by Reconstruct().
{ try { itk::TimeProbe clock; int nrFiles = inImages->size(); if (!nrFiles) return; std::vector<float> lambdas; float minLambda = m_Controls->m_QBallReconstructionLambdaLineEdit->text().toFloat(); lambdas.push_back(minLambda); int nLambdas = lambdas.size(); QString status; mitk::ProgressBar::GetInstance()->AddStepsToDo(nrFiles*nLambdas); mitk::DataStorage::SetOfObjects::const_iterator itemiter( inImages->begin() ); mitk::DataStorage::SetOfObjects::const_iterator itemiterend( inImages->end() ); std::vector<mitk::DataNode::Pointer>* nodes = new std::vector<mitk::DataNode::Pointer>(); while ( itemiter != itemiterend ) // for all items { mitk::DiffusionImage<DiffusionPixelType>* vols = static_cast<mitk::DiffusionImage<DiffusionPixelType>*>( (*itemiter)->GetData()); std::string nodename; (*itemiter)->GetStringProperty("name",nodename); itemiter++; // QBALL RECONSTRUCTION clock.Start(); MBI_INFO << "QBall reconstruction "; mitk::StatusBar::GetInstance()->DisplayText(status.sprintf( "QBall reconstruction for %s", nodename.c_str()).toAscii()); for(int i=0; i<nLambdas; i++) { float currentLambda = lambdas[i]; switch(m_Controls->m_QBallReconstructionMaxLLevelComboBox->currentIndex()) { case 0: { TemplatedAnalyticalQBallReconstruction<2>(vols, currentLambda, nodename, nodes, normalization); break; } case 1: { TemplatedAnalyticalQBallReconstruction<4>(vols, currentLambda, nodename, nodes, normalization); break; } case 2: { TemplatedAnalyticalQBallReconstruction<6>(vols, currentLambda, nodename, nodes, normalization); break; } case 3: { TemplatedAnalyticalQBallReconstruction<8>(vols, currentLambda, nodename, nodes, normalization); break; } } clock.Stop(); MBI_DEBUG << "took " << clock.GetMeanTime() << "s." ; mitk::ProgressBar::GetInstance()->Progress(); } } std::vector<mitk::DataNode::Pointer>::iterator nodeIt; for(nodeIt = nodes->begin(); nodeIt != nodes->end(); ++nodeIt) GetDefaultDataStorage()->Add(*nodeIt); m_MultiWidget->RequestUpdate(); mitk::StatusBar::GetInstance()->DisplayText(status.sprintf("Finished Processing %d Files", nrFiles).toAscii()); } catch (itk::ExceptionObject &ex) { MBI_INFO << ex ; return ; } }
void QmitkQBallReconstructionView::CreateConnections | ( | ) | [virtual] |
Creation of the connections of main and control widget.
Definition at line 224 of file QmitkQBallReconstructionView.cpp.
References AdvancedCheckboxClicked(), Ui_QmitkQBallReconstructionViewControls::m_AdvancedCheckbox, Ui_QmitkQBallReconstructionViewControls::m_ButtonStandard, m_Controls, Ui_QmitkQBallReconstructionViewControls::m_QBallReconstructionMethodComboBox, MethodChoosen(), and ReconstructStandard().
Referenced by CreateQtPartControl().
{ if ( m_Controls ) { connect( (QObject*)(m_Controls->m_ButtonStandard), SIGNAL(clicked()), this, SLOT(ReconstructStandard()) ); connect( (QObject*)(m_Controls->m_AdvancedCheckbox), SIGNAL(clicked()), this, SLOT(AdvancedCheckboxClicked()) ); connect( (QObject*)(m_Controls->m_QBallReconstructionMethodComboBox), SIGNAL(currentIndexChanged(int)), this, SLOT(MethodChoosen(int)) ); } }
void QmitkQBallReconstructionView::CreateQtPartControl | ( | QWidget * | parent ) | [virtual] |
Implements berry::QtViewPart.
Definition at line 179 of file QmitkQBallReconstructionView.cpp.
References AdvancedCheckboxClicked(), berry::SmartPointer< TObjectType >::Cast(), CreateConnections(), berry::WorkbenchPart::GetSite(), m_Controls, m_CurrentSelection, Ui_QmitkQBallReconstructionViewControls::m_Description, Ui_QmitkQBallReconstructionViewControls::m_QBallReconstructionMaxLLevelComboBox, Ui_QmitkQBallReconstructionViewControls::m_QBallReconstructionMethodComboBox, Ui_QmitkQBallReconstructionViewControls::m_QBallReconstructionNumberThreadsSpinbox, m_SelListener, QbrSelListener, and Ui_QmitkQBallReconstructionViewControls::setupUi().
{ if (!m_Controls) { // create GUI widgets m_Controls = new Ui::QmitkQBallReconstructionViewControls; m_Controls->setupUi(parent); this->CreateConnections(); QStringList items; items << "2" << "4" << "6" << "8"; m_Controls->m_QBallReconstructionMaxLLevelComboBox->addItems(items); m_Controls->m_QBallReconstructionMaxLLevelComboBox->setCurrentIndex(1); m_Controls->m_Description->setText("Spherical harmonics recon. (Desoteaux2007)"); m_Controls->m_QBallReconstructionNumberThreadsSpinbox->setValue(8); #ifndef DIFFUSION_IMAGING_EXTENDED m_Controls->m_QBallReconstructionMethodComboBox->removeItem(3); #endif AdvancedCheckboxClicked(); // define data type for combobox //m_Controls->m_ImageSelector->SetDataStorage( this->GetDefaultDataStorage() ); //m_Controls->m_ImageSelector->SetPredicate( mitk::NodePredicateDataType::New("DiffusionImage") ); } m_SelListener = berry::ISelectionListener::Pointer(new QbrSelListener(this)); this->GetSite()->GetWorkbenchWindow()->GetSelectionService()->AddPostSelectionListener(/*"org.mitk.views.datamanager",*/ m_SelListener); berry::ISelection::ConstPointer sel( this->GetSite()->GetWorkbenchWindow()->GetSelectionService()->GetSelection("org.mitk.views.datamanager")); m_CurrentSelection = sel.Cast<const IStructuredSelection>(); m_SelListener.Cast<QbrSelListener>()->DoSelectionChanged(sel); }
void QmitkQBallReconstructionView::Deactivated | ( | ) | [virtual] |
Only called when IsExclusiveFunctionality() returns true.
Reimplemented from QmitkFunctionality.
Definition at line 245 of file QmitkQBallReconstructionView.cpp.
void QmitkQBallReconstructionView::MethodChoosen | ( | int | method ) | [protected, slot] |
Definition at line 303 of file QmitkQBallReconstructionView.cpp.
References m_Controls, and Ui_QmitkQBallReconstructionViewControls::m_Description.
Referenced by CreateConnections().
{ switch(method) { case 0: m_Controls->m_Description->setText("Numerical recon. (Tuch2004)"); break; case 1: m_Controls->m_Description->setText("Spherical harmonics recon. (Desoteaux2007)"); break; case 2: m_Controls->m_Description->setText("SH recon. with solid angle consideration (Aganj2009)"); break; case 3: m_Controls->m_Description->setText("SH solid angle with non-neg. constraint (Goh2009)"); break; case 4: m_Controls->m_Description->setText("SH recon. of the plain ADC-profiles"); break; case 5: m_Controls->m_Description->setText("SH recon. of the raw diffusion signal"); break; } }
void QmitkQBallReconstructionView::NumericalQBallReconstruction | ( | mitk::DataStorage::SetOfObjects::Pointer | inImages, |
int | normalization | ||
) | [protected, slot] |
Definition at line 391 of file QmitkQBallReconstructionView.cpp.
References mitk::DiffusionImage< TPixelType >::GetB_Value(), mitk::DiffusionImage< TPixelType >::GetDirections(), mitk::StatusBar::GetInstance(), mitk::ProgressBar::GetInstance(), mitk::DiffusionImage< TPixelType >::GetVectorImage(), MBI_DEBUG, MBI_INFO, mitk::StringProperty::New(), mitk::Image::New(), mitk::DataNode::New(), mitk::QBallImage::New(), and QBALL_ODFSIZE.
Referenced by Reconstruct().
{ try { itk::TimeProbe clock; int nrFiles = inImages->size(); if (!nrFiles) return; QString status; mitk::ProgressBar::GetInstance()->AddStepsToDo(nrFiles); mitk::DataStorage::SetOfObjects::const_iterator itemiter( inImages->begin() ); mitk::DataStorage::SetOfObjects::const_iterator itemiterend( inImages->end() ); std::vector<mitk::DataNode::Pointer> nodes; while ( itemiter != itemiterend ) // for all items { mitk::DiffusionImage<DiffusionPixelType>* vols = static_cast<mitk::DiffusionImage<DiffusionPixelType>*>( (*itemiter)->GetData()); std::string nodename; (*itemiter)->GetStringProperty("name", nodename); ++itemiter; // QBALL RECONSTRUCTION clock.Start(); MBI_INFO << "QBall reconstruction "; mitk::StatusBar::GetInstance()->DisplayText(status.sprintf( "QBall reconstruction for %s", nodename.c_str()).toAscii()); typedef itk::DiffusionQballReconstructionImageFilter <DiffusionPixelType, DiffusionPixelType, TTensorPixelType, QBALL_ODFSIZE> QballReconstructionImageFilterType; QballReconstructionImageFilterType::Pointer filter = QballReconstructionImageFilterType::New(); filter->SetGradientImage( vols->GetDirections(), vols->GetVectorImage() ); filter->SetNumberOfThreads( m_Controls->m_QBallReconstructionNumberThreadsSpinbox->value() ); filter->SetBValue(vols->GetB_Value()); filter->SetThreshold( m_Controls->m_QBallReconstructionThreasholdEdit->text().toFloat() ); switch(normalization) { case 0: { filter->SetNormalizationMethod(QballReconstructionImageFilterType::QBR_STANDARD); break; } case 1: { filter->SetNormalizationMethod(QballReconstructionImageFilterType::QBR_B_ZERO_B_VALUE); break; } case 2: { filter->SetNormalizationMethod(QballReconstructionImageFilterType::QBR_B_ZERO); break; } case 3: { filter->SetNormalizationMethod(QballReconstructionImageFilterType::QBR_NONE); break; } default: { filter->SetNormalizationMethod(QballReconstructionImageFilterType::QBR_STANDARD); } } filter->Update(); clock.Stop(); MBI_DEBUG << "took " << clock.GetMeanTime() << "s." ; // ODFs TO DATATREE mitk::QBallImage::Pointer image = mitk::QBallImage::New(); image->InitializeByItk( filter->GetOutput() ); //image->SetImportVolume( filter->GetOutput()->GetBufferPointer(), 0, 0, mitk::Image::ImportMemoryManagementType::ManageMemory ); image->SetVolume( filter->GetOutput()->GetBufferPointer() ); mitk::DataNode::Pointer node=mitk::DataNode::New(); node->SetData( image ); QString newname; newname = newname.append(nodename.c_str()); newname = newname.append("_QN%1").arg(normalization); SetDefaultNodeProperties(node, newname.toStdString()); nodes.push_back(node); // B-Zero TO DATATREE if(m_Controls->m_OutputB0Image->isChecked()) { mitk::Image::Pointer image4 = mitk::Image::New(); image4->InitializeByItk( filter->GetBZeroImage().GetPointer() ); image4->SetVolume( filter->GetBZeroImage()->GetBufferPointer() ); mitk::DataNode::Pointer node4=mitk::DataNode::New(); node4->SetData( image4 ); node4->SetProperty( "name", mitk::StringProperty::New( QString(nodename.c_str()).append("_b0").toStdString()) ); nodes.push_back(node4); } mitk::ProgressBar::GetInstance()->Progress(); } std::vector<mitk::DataNode::Pointer>::iterator nodeIt; for(nodeIt = nodes.begin(); nodeIt != nodes.end(); ++nodeIt) GetDefaultDataStorage()->Add(*nodeIt); mitk::StatusBar::GetInstance()->DisplayText(status.sprintf("Finished Processing %d Files", nrFiles).toAscii()); m_MultiWidget->RequestUpdate(); } catch (itk::ExceptionObject &ex) { MBI_INFO << ex ; return ; } }
void QmitkQBallReconstructionView::Reconstruct | ( | int | method, |
int | normalization | ||
) | [protected, slot] |
Definition at line 354 of file QmitkQBallReconstructionView.cpp.
References AnalyticalQBallReconstruction(), berry::SmartPointer< TObjectType >::Cast(), m_CurrentSelection, and NumericalQBallReconstruction().
Referenced by ReconstructStandard().
{ if (m_CurrentSelection) { mitk::DataStorage::SetOfObjects::Pointer set = mitk::DataStorage::SetOfObjects::New(); int at = 0; for (IStructuredSelection::iterator i = m_CurrentSelection->Begin(); i != m_CurrentSelection->End(); ++i) { if (mitk::DataNodeObject::Pointer nodeObj = i->Cast<mitk::DataNodeObject>()) { mitk::DataNode::Pointer node = nodeObj->GetDataNode(); if(QString("DiffusionImage").compare(node->GetData()->GetNameOfClass())==0) { set->InsertElement(at++, node); } } } if(method == 0) { NumericalQBallReconstruction(set, normalization); } if(method == 1) { AnalyticalQBallReconstruction(set, normalization); } } }
void QmitkQBallReconstructionView::ReconstructStandard | ( | ) | [protected, slot] |
Definition at line 250 of file QmitkQBallReconstructionView.cpp.
References m_Controls, Ui_QmitkQBallReconstructionViewControls::m_QBallReconstructionMethodComboBox, and Reconstruct().
Referenced by CreateConnections().
{ int index = m_Controls->m_QBallReconstructionMethodComboBox->currentIndex(); #ifndef DIFFUSION_IMAGING_EXTENDED if(index>=3) { index = index + 1; } #endif switch(index) { case 0: { // Numerical Reconstruct(0,0); break; } case 1: { // Standard Reconstruct(1,0); break; } case 2: { // Solid Angle Reconstruct(1,6); break; } case 3: { // Constrained Solid Angle Reconstruct(1,7); break; } case 4: { // ADC Reconstruct(1,4); break; } case 5: { // Raw Signal Reconstruct(1,5); break; } } }
void QmitkQBallReconstructionView::SetDefaultNodeProperties | ( | mitk::DataNode::Pointer | node, |
std::string | name | ||
) | [protected] |
Definition at line 698 of file QmitkQBallReconstructionView.cpp.
References mitk::StringProperty::New(), mitk::BoolProperty::New(), mitk::OdfScaleByProperty::New(), mitk::OdfNormalizationMethodProperty::New(), mitk::FloatProperty::New(), and mitk::IntProperty::New().
Referenced by TemplatedAnalyticalQBallReconstruction().
{ node->SetProperty( "ShowMaxNumber", mitk::IntProperty::New( 500 ) ); node->SetProperty( "Scaling", mitk::FloatProperty::New( 1.0 ) ); node->SetProperty( "Normalization", mitk::OdfNormalizationMethodProperty::New()); node->SetProperty( "ScaleBy", mitk::OdfScaleByProperty::New()); node->SetProperty( "IndexParam1", mitk::FloatProperty::New(2)); node->SetProperty( "IndexParam2", mitk::FloatProperty::New(1)); node->SetProperty( "visible", mitk::BoolProperty::New( true ) ); node->SetProperty( "VisibleOdfs", mitk::BoolProperty::New( false ) ); node->SetProperty ("layer", mitk::IntProperty::New(100)); node->SetProperty( "DoRefresh", mitk::BoolProperty::New( true ) ); //node->SetProperty( "opacity", mitk::FloatProperty::New(1.0f) ); node->SetProperty( "name", mitk::StringProperty::New(name) ); }
void QmitkQBallReconstructionView::StdMultiWidgetAvailable | ( | QmitkStdMultiWidget & | stdMultiWidget ) | [virtual] |
Called when a StdMultiWidget is available. Should not be used anymore, see GetActiveStdMultiWidget()
Reimplemented from QmitkFunctionality.
Definition at line 214 of file QmitkQBallReconstructionView.cpp.
References m_MultiWidget.
{ m_MultiWidget = &stdMultiWidget; }
void QmitkQBallReconstructionView::StdMultiWidgetNotAvailable | ( | ) | [virtual] |
Called when no StdMultiWidget is available anymore. Should not be used anymore, see GetActiveStdMultiWidget()
Reimplemented from QmitkFunctionality.
Definition at line 219 of file QmitkQBallReconstructionView.cpp.
References m_MultiWidget.
{ m_MultiWidget = NULL; }
void QmitkQBallReconstructionView::TemplatedAnalyticalQBallReconstruction | ( | mitk::DiffusionImage< DiffusionPixelType > * | vols, |
float | lambda, | ||
std::string | nodename, | ||
std::vector< mitk::DataNode::Pointer > * | nodes, | ||
int | normalization | ||
) | [protected] |
Definition at line 606 of file QmitkQBallReconstructionView.cpp.
References mitk::DiffusionImage< TPixelType >::GetB_Value(), mitk::DiffusionImage< TPixelType >::GetDirections(), mitk::DiffusionImage< TPixelType >::GetVectorImage(), m_Controls, Ui_QmitkQBallReconstructionViewControls::m_OutputB0Image, Ui_QmitkQBallReconstructionViewControls::m_QBallReconstructionNumberThreadsSpinbox, Ui_QmitkQBallReconstructionViewControls::m_QBallReconstructionThreasholdEdit, mitk::StringProperty::New(), mitk::Image::New(), mitk::DataNode::New(), mitk::QBallImage::New(), QBALL_ODFSIZE, and SetDefaultNodeProperties().
{ typedef itk::AnalyticalDiffusionQballReconstructionImageFilter <DiffusionPixelType,DiffusionPixelType,TTensorPixelType,L,QBALL_ODFSIZE> FilterType; typename FilterType::Pointer filter = FilterType::New(); filter->SetGradientImage( vols->GetDirections(), vols->GetVectorImage() ); filter->SetNumberOfThreads( m_Controls->m_QBallReconstructionNumberThreadsSpinbox->value() ); filter->SetBValue(vols->GetB_Value()); filter->SetThreshold( m_Controls->m_QBallReconstructionThreasholdEdit->text().toFloat() ); filter->SetLambda(lambda); switch(normalization) { case 0: { filter->SetNormalizationMethod(FilterType::QBAR_STANDARD); break; } case 1: { filter->SetNormalizationMethod(FilterType::QBAR_B_ZERO_B_VALUE); break; } case 2: { filter->SetNormalizationMethod(FilterType::QBAR_B_ZERO); break; } case 3: { filter->SetNormalizationMethod(FilterType::QBAR_NONE); break; } case 4: { filter->SetNormalizationMethod(FilterType::QBAR_ADC_ONLY); break; } case 5: { filter->SetNormalizationMethod(FilterType::QBAR_RAW_SIGNAL); break; } case 6: { filter->SetNormalizationMethod(FilterType::QBAR_SOLID_ANGLE); break; } case 7: { filter->SetNormalizationMethod(FilterType::QBAR_NONNEG_SOLID_ANGLE); break; } default: { filter->SetNormalizationMethod(FilterType::QBAR_STANDARD); } } filter->Update(); // ODFs TO DATATREE mitk::QBallImage::Pointer image = mitk::QBallImage::New(); image->InitializeByItk( filter->GetOutput() ); image->SetVolume( filter->GetOutput()->GetBufferPointer() ); mitk::DataNode::Pointer node=mitk::DataNode::New(); node->SetData( image ); QString newname; newname = newname.append(nodename.c_str()); newname = newname.append("_QA%1").arg(normalization); SetDefaultNodeProperties(node, newname.toStdString()); nodes->push_back(node); // B-Zero TO DATATREE if(m_Controls->m_OutputB0Image->isChecked()) { mitk::Image::Pointer image4 = mitk::Image::New(); image4->InitializeByItk( filter->GetBZeroImage().GetPointer() ); image4->SetVolume( filter->GetBZeroImage()->GetBufferPointer() ); mitk::DataNode::Pointer node4=mitk::DataNode::New(); node4->SetData( image4 ); node4->SetProperty( "name", mitk::StringProperty::New( QString(nodename.c_str()).append("_b0").toStdString()) ); nodes->push_back(node4); } }
friend struct QbrSelListener [friend] |
Definition at line 50 of file QmitkQBallReconstructionView.h.
Referenced by CreateQtPartControl().
Definition at line 99 of file QmitkQBallReconstructionView.h.
Referenced by AdvancedCheckboxClicked(), AnalyticalQBallReconstruction(), CreateConnections(), CreateQtPartControl(), MethodChoosen(), ReconstructStandard(), and TemplatedAnalyticalQBallReconstruction().
berry::IStructuredSelection::ConstPointer QmitkQBallReconstructionView::m_CurrentSelection [protected] |
Definition at line 110 of file QmitkQBallReconstructionView.h.
Referenced by Activated(), CreateQtPartControl(), QbrSelListener::DoSelectionChanged(), and Reconstruct().
Definition at line 101 of file QmitkQBallReconstructionView.h.
Referenced by AnalyticalQBallReconstruction(), StdMultiWidgetAvailable(), and StdMultiWidgetNotAvailable().
Definition at line 109 of file QmitkQBallReconstructionView.h.
Referenced by Activated(), CreateQtPartControl(), and ~QmitkQBallReconstructionView().
const int QmitkQBallReconstructionView::nrconvkernels = 252 [static] |
Definition at line 75 of file QmitkQBallReconstructionView.h.
const std::string QmitkQBallReconstructionView::VIEW_ID = "org.mitk.views.qballreconstruction" [static] |
Definition at line 57 of file QmitkQBallReconstructionView.h.