QmitkDiffusionQuantificationView. More...
#include <QmitkDiffusionQuantificationView.h>
Public Member Functions | |
QmitkDiffusionQuantificationView () | |
virtual | ~QmitkDiffusionQuantificationView () |
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.diffusionquantification" |
Protected Slots | |
void | GFACheckboxClicked () |
void | GFA () |
void | Curvature () |
void | FA () |
void | RA () |
void | AD () |
void | RD () |
void | ClusterAnisotropy () |
void | QBIQuantify (int method) |
void | QBIQuantification (mitk::DataStorage::SetOfObjects::Pointer inImages, int method) |
void | TensorQuantify (int method) |
void | TensorQuantification (mitk::DataStorage::SetOfObjects::Pointer inImages, int method) |
Protected Attributes | |
Ui::QmitkDiffusionQuantificationViewControls * | m_Controls |
QmitkStdMultiWidget * | m_MultiWidget |
berry::ISelectionListener::Pointer | m_SelListener |
berry::IStructuredSelection::ConstPointer | m_CurrentSelection |
Static Protected Attributes | |
static const float | m_ScaleDAIValues = 100.0 |
Friends | |
struct | DqSelListener |
QmitkDiffusionQuantificationView.
Document your class here.
Definition at line 42 of file QmitkDiffusionQuantificationView.h.
QmitkDiffusionQuantificationView::QmitkDiffusionQuantificationView | ( | ) |
Definition at line 125 of file QmitkDiffusionQuantificationView.cpp.
: QmitkFunctionality(), m_Controls(NULL), m_MultiWidget(NULL) { }
QmitkDiffusionQuantificationView::~QmitkDiffusionQuantificationView | ( | ) | [virtual] |
Definition at line 132 of file QmitkDiffusionQuantificationView.cpp.
References berry::WorkbenchPart::GetSite(), and m_SelListener.
{ this->GetSite()->GetWorkbenchWindow()->GetSelectionService()->RemovePostSelectionListener(/*"org.mitk.views.datamanager",*/ m_SelListener); }
void QmitkDiffusionQuantificationView::Activated | ( | ) | [virtual] |
Called when the functionality is activated.
Reimplemented from QmitkFunctionality.
Definition at line 187 of file QmitkDiffusionQuantificationView.cpp.
References berry::SmartPointer< TObjectType >::Cast(), berry::WorkbenchPart::GetSite(), m_CurrentSelection, and m_SelListener.
{ berry::ISelection::ConstPointer sel( this->GetSite()->GetWorkbenchWindow()->GetSelectionService()->GetSelection("org.mitk.views.datamanager")); m_CurrentSelection = sel.Cast<const IStructuredSelection>(); m_SelListener.Cast<DqSelListener>()->DoSelectionChanged(sel); QmitkFunctionality::Activated(); }
void QmitkDiffusionQuantificationView::AD | ( | ) | [protected, slot] |
Definition at line 234 of file QmitkDiffusionQuantificationView.cpp.
References TensorQuantify().
Referenced by CreateConnections().
{ TensorQuantify(2); }
void QmitkDiffusionQuantificationView::ClusterAnisotropy | ( | ) | [protected, slot] |
Definition at line 244 of file QmitkDiffusionQuantificationView.cpp.
References TensorQuantify().
Referenced by CreateConnections().
{ TensorQuantify(4); }
void QmitkDiffusionQuantificationView::CreateConnections | ( | ) | [virtual] |
Creation of the connections of main and control widget.
Definition at line 172 of file QmitkDiffusionQuantificationView.cpp.
References AD(), ClusterAnisotropy(), Curvature(), FA(), GFA(), GFACheckboxClicked(), Ui_QmitkDiffusionQuantificationViewControls::m_ADButton, Ui_QmitkDiffusionQuantificationViewControls::m_ClusteringAnisotropy, m_Controls, Ui_QmitkDiffusionQuantificationViewControls::m_CurvatureButton, Ui_QmitkDiffusionQuantificationViewControls::m_FAButton, Ui_QmitkDiffusionQuantificationViewControls::m_GFAButton, Ui_QmitkDiffusionQuantificationViewControls::m_RAButton, Ui_QmitkDiffusionQuantificationViewControls::m_RDButton, Ui_QmitkDiffusionQuantificationViewControls::m_StandardGFACheckbox, RA(), and RD().
Referenced by CreateQtPartControl().
{ if ( m_Controls ) { connect( (QObject*)(m_Controls->m_StandardGFACheckbox), SIGNAL(clicked()), this, SLOT(GFACheckboxClicked()) ); connect( (QObject*)(m_Controls->m_GFAButton), SIGNAL(clicked()), this, SLOT(GFA()) ); connect( (QObject*)(m_Controls->m_CurvatureButton), SIGNAL(clicked()), this, SLOT(Curvature()) ); connect( (QObject*)(m_Controls->m_FAButton), SIGNAL(clicked()), this, SLOT(FA()) ); connect( (QObject*)(m_Controls->m_RAButton), SIGNAL(clicked()), this, SLOT(RA()) ); connect( (QObject*)(m_Controls->m_ADButton), SIGNAL(clicked()), this, SLOT(AD()) ); connect( (QObject*)(m_Controls->m_RDButton), SIGNAL(clicked()), this, SLOT(RD()) ); connect( (QObject*)(m_Controls->m_ClusteringAnisotropy), SIGNAL(clicked()), this, SLOT(ClusterAnisotropy()) ); } }
void QmitkDiffusionQuantificationView::CreateQtPartControl | ( | QWidget * | parent ) | [virtual] |
Implements berry::QtViewPart.
Definition at line 137 of file QmitkDiffusionQuantificationView.cpp.
References berry::SmartPointer< TObjectType >::Cast(), CreateConnections(), DqSelListener, Ui_QmitkDiffusionQuantificationViewControls::frame_3, berry::WorkbenchPart::GetSite(), GFACheckboxClicked(), m_Controls, m_CurrentSelection, Ui_QmitkDiffusionQuantificationViewControls::m_CurvatureButton, m_SelListener, Ui_QmitkDiffusionQuantificationViewControls::m_StandardGFACheckbox, and Ui_QmitkDiffusionQuantificationViewControls::setupUi().
{ if (!m_Controls) { // create GUI widgets m_Controls = new Ui::QmitkDiffusionQuantificationViewControls; m_Controls->setupUi(parent); this->CreateConnections(); GFACheckboxClicked(); #ifndef DIFFUSION_IMAGING_EXTENDED m_Controls->m_StandardGFACheckbox->setVisible(false); m_Controls->frame_3->setVisible(false); m_Controls->m_CurvatureButton->setVisible(false); #endif } m_SelListener = berry::ISelectionListener::Pointer(new DqSelListener(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<DqSelListener>()->DoSelectionChanged(sel); }
void QmitkDiffusionQuantificationView::Curvature | ( | ) | [protected, slot] |
Definition at line 219 of file QmitkDiffusionQuantificationView.cpp.
References QBIQuantify().
Referenced by CreateConnections().
{ QBIQuantify(12); }
void QmitkDiffusionQuantificationView::Deactivated | ( | ) | [virtual] |
Only called when IsExclusiveFunctionality() returns true.
Reimplemented from QmitkFunctionality.
Definition at line 196 of file QmitkDiffusionQuantificationView.cpp.
void QmitkDiffusionQuantificationView::FA | ( | ) | [protected, slot] |
Definition at line 224 of file QmitkDiffusionQuantificationView.cpp.
References TensorQuantify().
Referenced by CreateConnections().
{ TensorQuantify(0); }
void QmitkDiffusionQuantificationView::GFA | ( | ) | [protected, slot] |
Definition at line 207 of file QmitkDiffusionQuantificationView.cpp.
References m_Controls, Ui_QmitkDiffusionQuantificationViewControls::m_StandardGFACheckbox, and QBIQuantify().
Referenced by CreateConnections().
{ if(m_Controls->m_StandardGFACheckbox->isChecked()) { QBIQuantify(13); } else { QBIQuantify(0); } }
void QmitkDiffusionQuantificationView::GFACheckboxClicked | ( | ) | [protected, slot] |
Definition at line 201 of file QmitkDiffusionQuantificationView.cpp.
References Ui_QmitkDiffusionQuantificationViewControls::frame_2, and m_Controls.
Referenced by CreateConnections(), and CreateQtPartControl().
{ m_Controls->frame_2->setVisible(m_Controls-> m_StandardGFACheckbox->isChecked()); }
void QmitkDiffusionQuantificationView::QBIQuantification | ( | mitk::DataStorage::SetOfObjects::Pointer | inImages, |
int | method | ||
) | [protected, slot] |
Definition at line 305 of file QmitkDiffusionQuantificationView.cpp.
References QmitkFunctionality::GetDefaultDataStorage(), mitk::StatusBar::GetInstance(), m_Controls, m_MultiWidget, Ui_QmitkDiffusionQuantificationViewControls::m_ParamKEdit, Ui_QmitkDiffusionQuantificationViewControls::m_ParamPEdit, m_ScaleDAIValues, Ui_QmitkDiffusionQuantificationViewControls::MaxAngle, MBI_DEBUG, MBI_INFO, Ui_QmitkDiffusionQuantificationViewControls::MinAngle, mitk::StringProperty::New(), mitk::DataNode::New(), mitk::Image::New(), QBALL_ODFSIZE, and QmitkStdMultiWidget::RequestUpdate().
Referenced by QBIQuantify().
{ itk::TimeProbe clock; QString status; int nrFiles = inImages->size(); if (!nrFiles) return; 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 { typedef float TOdfPixelType; const int odfsize = QBALL_ODFSIZE; typedef itk::Vector<TOdfPixelType,odfsize> OdfVectorType; typedef itk::Image<OdfVectorType,3> OdfVectorImgType; mitk::Image* vol = static_cast<mitk::Image*>((*itemiter)->GetData()); OdfVectorImgType::Pointer itkvol = OdfVectorImgType::New(); mitk::CastToItkImage<OdfVectorImgType>(vol, itkvol); std::string nodename; (*itemiter)->GetStringProperty("name", nodename); ++itemiter; float p1 = m_Controls->m_ParamKEdit->text().toFloat(); float p2 = m_Controls->m_ParamPEdit->text().toFloat(); // COMPUTE RA clock.Start(); MBI_INFO << "Computing GFA "; mitk::StatusBar::GetInstance()->DisplayText(status.sprintf( "Computing GFA for %s", nodename.c_str()).toAscii()); typedef OdfVectorType::ValueType RealValueType; typedef itk::Image< RealValueType, 3 > RAImageType; typedef itk::DiffusionQballGeneralizedFaImageFilter<TOdfPixelType,TOdfPixelType,odfsize> GfaFilterType; GfaFilterType::Pointer gfaFilter = GfaFilterType::New(); gfaFilter->SetInput(itkvol); gfaFilter->SetNumberOfThreads(8); double scale = 1; std::string newname; newname.append(nodename); switch(method) { case 0: { gfaFilter->SetComputationMethod(GfaFilterType::GFA_STANDARD); newname.append("GFA"); scale = m_ScaleDAIValues; break; } case 1: { gfaFilter->SetComputationMethod(GfaFilterType::GFA_QUANTILES_HIGH_LOW); newname.append("01"); scale = m_ScaleDAIValues; break; } case 2: { gfaFilter->SetComputationMethod(GfaFilterType::GFA_QUANTILE_HIGH); newname.append("02"); scale = m_ScaleDAIValues; break; } case 3: { gfaFilter->SetComputationMethod(GfaFilterType::GFA_MAX_ODF_VALUE); newname.append("03"); scale = m_ScaleDAIValues; break; } case 4: { gfaFilter->SetComputationMethod(GfaFilterType::GFA_DECONVOLUTION_COEFFS); newname.append("04"); scale = m_ScaleDAIValues; break; } case 5: { gfaFilter->SetComputationMethod(GfaFilterType::GFA_MIN_MAX_NORMALIZED_STANDARD); newname.append("05"); scale = m_ScaleDAIValues; break; } case 6: { gfaFilter->SetComputationMethod(GfaFilterType::GFA_NORMALIZED_ENTROPY); newname.append("06"); break; } case 7: { gfaFilter->SetComputationMethod(GfaFilterType::GFA_NEMATIC_ORDER_PARAMETER); newname.append("07"); scale = m_ScaleDAIValues; break; } case 8: { gfaFilter->SetComputationMethod(GfaFilterType::GFA_QUANTILES_LOW_HIGH); newname.append("08"); scale = m_ScaleDAIValues; break; } case 9: { gfaFilter->SetComputationMethod(GfaFilterType::GFA_QUANTILE_LOW); newname.append("09"); scale = m_ScaleDAIValues; break; } case 10: { gfaFilter->SetComputationMethod(GfaFilterType::GFA_MIN_ODF_VALUE); newname.append("10"); scale = m_ScaleDAIValues; break; } case 11: { gfaFilter->SetComputationMethod(GfaFilterType::GFA_STD_BY_MAX); newname.append("11"); scale = m_ScaleDAIValues; break; } case 12: { p1 = m_Controls->MinAngle->text().toFloat(); p2 = m_Controls->MaxAngle->text().toFloat(); gfaFilter->SetComputationMethod(GfaFilterType::GFA_PRINCIPLE_CURVATURE); QString paramString; paramString = paramString.append("PC%1-%2").arg(p1).arg(p2); newname.append(paramString.toAscii()); gfaFilter->SetParam1(p1); gfaFilter->SetParam2(p2); scale = m_ScaleDAIValues; break; } case 13: { gfaFilter->SetComputationMethod(GfaFilterType::GFA_GENERALIZED_GFA); QString paramString; paramString = paramString.append("GFAK%1P%2").arg(p1).arg(p2); newname.append(paramString.toAscii()); gfaFilter->SetParam1(p1); gfaFilter->SetParam2(p2); scale = m_ScaleDAIValues; break; } default: { newname.append("0"); gfaFilter->SetComputationMethod(GfaFilterType::GFA_STANDARD); scale = m_ScaleDAIValues; } } gfaFilter->Update(); clock.Stop(); MBI_DEBUG << "took " << clock.GetMeanTime() << "s."; typedef itk::Image<TOdfPixelType, 3> ImgType; ImgType::Pointer img = ImgType::New(); img->SetSpacing( gfaFilter->GetOutput()->GetSpacing() ); // Set the image spacing img->SetOrigin( gfaFilter->GetOutput()->GetOrigin() ); // Set the image origin img->SetDirection( gfaFilter->GetOutput()->GetDirection() ); // Set the image direction img->SetLargestPossibleRegion( gfaFilter->GetOutput()->GetLargestPossibleRegion()); img->SetBufferedRegion( gfaFilter->GetOutput()->GetLargestPossibleRegion() ); img->Allocate(); itk::ImageRegionIterator<ImgType> ot (img, img->GetLargestPossibleRegion() ); ot = ot.Begin(); itk::ImageRegionConstIterator<GfaFilterType::OutputImageType> it (gfaFilter->GetOutput(), gfaFilter->GetOutput()->GetLargestPossibleRegion() ); it = it.Begin(); for (it = it.Begin(); !it.IsAtEnd(); ++it) { GfaFilterType::OutputImageType::PixelType val = it.Get(); ot.Set(val * scale); ++ot; } // GFA TO DATATREE mitk::Image::Pointer image = mitk::Image::New(); image->InitializeByItk( img.GetPointer() ); image->SetVolume( img->GetBufferPointer() ); mitk::DataNode::Pointer node=mitk::DataNode::New(); node->SetData( image ); node->SetProperty( "name", mitk::StringProperty::New(newname) ); nodes.push_back(node); mitk::StatusBar::GetInstance()->DisplayText("Computation complete."); } std::vector<mitk::DataNode::Pointer>::iterator nodeIt; for(nodeIt = nodes.begin(); nodeIt != nodes.end(); ++nodeIt) GetDefaultDataStorage()->Add(*nodeIt); m_MultiWidget->RequestUpdate(); }
void QmitkDiffusionQuantificationView::QBIQuantify | ( | int | method ) | [protected, slot] |
Definition at line 249 of file QmitkDiffusionQuantificationView.cpp.
References berry::SmartPointer< TObjectType >::Cast(), m_CurrentSelection, and QBIQuantification().
Referenced by Curvature(), and GFA().
{ 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("QBallImage").compare(node->GetData()->GetNameOfClass())==0) { set->InsertElement(at++, node); } } } QBIQuantification(set, method); } }
void QmitkDiffusionQuantificationView::RA | ( | ) | [protected, slot] |
Definition at line 229 of file QmitkDiffusionQuantificationView.cpp.
References TensorQuantify().
Referenced by CreateConnections().
{ TensorQuantify(1); }
void QmitkDiffusionQuantificationView::RD | ( | ) | [protected, slot] |
Definition at line 239 of file QmitkDiffusionQuantificationView.cpp.
References TensorQuantify().
Referenced by CreateConnections().
{ TensorQuantify(3); }
void QmitkDiffusionQuantificationView::StdMultiWidgetAvailable | ( | QmitkStdMultiWidget & | stdMultiWidget ) | [virtual] |
Called when a StdMultiWidget is available. Should not be used anymore, see GetActiveStdMultiWidget()
Reimplemented from QmitkFunctionality.
Definition at line 162 of file QmitkDiffusionQuantificationView.cpp.
References m_MultiWidget.
{ m_MultiWidget = &stdMultiWidget; }
void QmitkDiffusionQuantificationView::StdMultiWidgetNotAvailable | ( | ) | [virtual] |
Called when no StdMultiWidget is available anymore. Should not be used anymore, see GetActiveStdMultiWidget()
Reimplemented from QmitkFunctionality.
Definition at line 167 of file QmitkDiffusionQuantificationView.cpp.
References m_MultiWidget.
{ m_MultiWidget = NULL; }
void QmitkDiffusionQuantificationView::TensorQuantification | ( | mitk::DataStorage::SetOfObjects::Pointer | inImages, |
int | method | ||
) | [protected, slot] |
Definition at line 516 of file QmitkDiffusionQuantificationView.cpp.
References QmitkFunctionality::GetDefaultDataStorage(), mitk::StatusBar::GetInstance(), m_MultiWidget, m_ScaleDAIValues, MBI_DEBUG, MBI_INFO, mitk::StringProperty::New(), mitk::DataNode::New(), mitk::Image::New(), and QmitkStdMultiWidget::RequestUpdate().
Referenced by TensorQuantify().
{ itk::TimeProbe clock; QString status; int nrFiles = inImages->size(); if (!nrFiles) return; 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 { typedef float TTensorPixelType; typedef itk::DiffusionTensor3D< TTensorPixelType > TensorPixelType; typedef itk::Image< TensorPixelType, 3 > TensorImageType; mitk::Image* vol = static_cast<mitk::Image*>((*itemiter)->GetData()); TensorImageType::Pointer itkvol = TensorImageType::New(); mitk::CastToItkImage<TensorImageType>(vol, itkvol); std::string nodename; (*itemiter)->GetStringProperty("name", nodename); ++itemiter; // COMPUTE FA clock.Start(); MBI_INFO << "Computing FA "; mitk::StatusBar::GetInstance()->DisplayText(status.sprintf( "Computing FA for %s", nodename.c_str()).toAscii()); typedef itk::Image< TTensorPixelType, 3 > FAImageType; typedef itk::ShiftScaleImageFilter<FAImageType, FAImageType> ShiftScaleFilterType; ShiftScaleFilterType::Pointer multi = ShiftScaleFilterType::New(); multi->SetShift(0.0); multi->SetScale(m_ScaleDAIValues);//itk::NumericTraits<RealValueType>::max() typedef itk::TensorDerivedMeasurementsFilter<TTensorPixelType> MeasurementsType; if(method == 0) //FA { /* typedef itk::TensorFractionalAnisotropyImageFilter< TensorImageType, FAImageType > FilterType; FilterType::Pointer anisotropyFilter = FilterType::New(); anisotropyFilter->SetInput( itkvol.GetPointer() ); anisotropyFilter->Update(); multi->SetInput(anisotropyFilter->GetOutput()); nodename = QString(nodename.c_str()).append("_FA").toStdString();*/ MeasurementsType::Pointer measurementsCalculator = MeasurementsType::New(); measurementsCalculator->SetInput(itkvol.GetPointer() ); measurementsCalculator->SetMeasure(MeasurementsType::FA); measurementsCalculator->Update(); multi->SetInput(measurementsCalculator->GetOutput()); nodename = QString(nodename.c_str()).append("_FA").toStdString(); } else if(method == 1) //RA { /*typedef itk::TensorRelativeAnisotropyImageFilter< TensorImageType, FAImageType > FilterType; FilterType::Pointer anisotropyFilter = FilterType::New(); anisotropyFilter->SetInput( itkvol.GetPointer() ); anisotropyFilter->Update(); multi->SetInput(anisotropyFilter->GetOutput()); nodename = QString(nodename.c_str()).append("_RA").toStdString();*/ MeasurementsType::Pointer measurementsCalculator = MeasurementsType::New(); measurementsCalculator->SetInput(itkvol.GetPointer() ); measurementsCalculator->SetMeasure(MeasurementsType::RA); measurementsCalculator->Update(); multi->SetInput(measurementsCalculator->GetOutput()); nodename = QString(nodename.c_str()).append("_RA").toStdString(); } else if(method == 2) // AD (Axial diffusivity) { MeasurementsType::Pointer measurementsCalculator = MeasurementsType::New(); measurementsCalculator->SetInput(itkvol.GetPointer() ); measurementsCalculator->SetMeasure(MeasurementsType::AD); measurementsCalculator->Update(); multi->SetInput(measurementsCalculator->GetOutput()); nodename = QString(nodename.c_str()).append("_AD").toStdString(); } else if(method == 3) // RD (Radial diffusivity, (Lambda2+Lambda3)/2 { MeasurementsType::Pointer measurementsCalculator = MeasurementsType::New(); measurementsCalculator->SetInput(itkvol.GetPointer() ); measurementsCalculator->SetMeasure(MeasurementsType::RD); measurementsCalculator->Update(); multi->SetInput(measurementsCalculator->GetOutput()); nodename = QString(nodename.c_str()).append("_RD").toStdString(); } else if(method == 4) // 1-(Lambda2+Lambda3)/(2*Lambda1) { MeasurementsType::Pointer measurementsCalculator = MeasurementsType::New(); measurementsCalculator->SetInput(itkvol.GetPointer() ); measurementsCalculator->SetMeasure(MeasurementsType::CA); measurementsCalculator->Update(); multi->SetInput(measurementsCalculator->GetOutput()); nodename = QString(nodename.c_str()).append("_CA").toStdString(); } multi->Update(); clock.Stop(); MBI_DEBUG << "took " << clock.GetMeanTime() << "s."; // FA TO DATATREE mitk::Image::Pointer image = mitk::Image::New(); image->InitializeByItk( multi->GetOutput() ); image->SetVolume( multi->GetOutput()->GetBufferPointer() ); mitk::DataNode::Pointer node=mitk::DataNode::New(); node->SetData( image ); node->SetProperty( "name", mitk::StringProperty::New(nodename) ); nodes.push_back(node); mitk::StatusBar::GetInstance()->DisplayText("Computation complete."); } std::vector<mitk::DataNode::Pointer>::iterator nodeIt; for(nodeIt = nodes.begin(); nodeIt != nodes.end(); ++nodeIt) GetDefaultDataStorage()->Add(*nodeIt); m_MultiWidget->RequestUpdate(); }
void QmitkDiffusionQuantificationView::TensorQuantify | ( | int | method ) | [protected, slot] |
Definition at line 277 of file QmitkDiffusionQuantificationView.cpp.
References berry::SmartPointer< TObjectType >::Cast(), m_CurrentSelection, and TensorQuantification().
Referenced by AD(), ClusterAnisotropy(), FA(), RA(), and RD().
{ 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("TensorImage").compare(node->GetData()->GetNameOfClass())==0) { set->InsertElement(at++, node); } } } TensorQuantification(set, method); } }
friend struct DqSelListener [friend] |
Definition at line 45 of file QmitkDiffusionQuantificationView.h.
Referenced by CreateQtPartControl().
Ui::QmitkDiffusionQuantificationViewControls* QmitkDiffusionQuantificationView::m_Controls [protected] |
Definition at line 92 of file QmitkDiffusionQuantificationView.h.
Referenced by CreateConnections(), CreateQtPartControl(), GFA(), GFACheckboxClicked(), and QBIQuantification().
berry::IStructuredSelection::ConstPointer QmitkDiffusionQuantificationView::m_CurrentSelection [protected] |
Definition at line 97 of file QmitkDiffusionQuantificationView.h.
Referenced by Activated(), CreateQtPartControl(), DqSelListener::DoSelectionChanged(), QBIQuantify(), and TensorQuantify().
Definition at line 94 of file QmitkDiffusionQuantificationView.h.
Referenced by QBIQuantification(), StdMultiWidgetAvailable(), StdMultiWidgetNotAvailable(), and TensorQuantification().
const float QmitkDiffusionQuantificationView::m_ScaleDAIValues = 100.0 [static, protected] |
Definition at line 99 of file QmitkDiffusionQuantificationView.h.
Referenced by QBIQuantification(), and TensorQuantification().
Definition at line 96 of file QmitkDiffusionQuantificationView.h.
Referenced by Activated(), CreateQtPartControl(), and ~QmitkDiffusionQuantificationView().
const std::string QmitkDiffusionQuantificationView::VIEW_ID = "org.mitk.views.diffusionquantification" [static] |
Definition at line 52 of file QmitkDiffusionQuantificationView.h.