QmitkPreprocessingView. More...
#include <QmitkPreprocessingView.h>
Public Member Functions | |
QmitkPreprocessingView () | |
virtual | ~QmitkPreprocessingView () |
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.preprocessing" |
static const int | nrconvkernels |
Protected Slots | |
void | AverageGradients () |
void | DoAverageGradients (mitk::DataStorage::SetOfObjects::Pointer inImages) |
void | ExtractB0 () |
void | DoExtractB0 (mitk::DataStorage::SetOfObjects::Pointer inImages) |
void | BrainMask () |
void | DoBrainMask (mitk::DataStorage::SetOfObjects::Pointer inImages) |
Protected Member Functions | |
void | SetDefaultNodeProperties (mitk::DataNode::Pointer node, std::string name) |
Protected Attributes | |
Ui::QmitkPreprocessingViewControls * | m_Controls |
QmitkStdMultiWidget * | m_MultiWidget |
berry::ISelectionListener::Pointer | m_SelListener |
berry::IStructuredSelection::ConstPointer | m_CurrentSelection |
Friends | |
struct | PrpSelListener |
Document your class here.
Definition at line 47 of file QmitkPreprocessingView.h.
QmitkPreprocessingView::QmitkPreprocessingView | ( | ) |
Definition at line 131 of file QmitkPreprocessingView.cpp.
: QmitkFunctionality(), m_Controls(NULL), m_MultiWidget(NULL) { }
QmitkPreprocessingView::~QmitkPreprocessingView | ( | ) | [virtual] |
Definition at line 138 of file QmitkPreprocessingView.cpp.
References berry::WorkbenchPart::GetSite(), and m_SelListener.
{ this->GetSite()->GetWorkbenchWindow()->GetSelectionService()->RemovePostSelectionListener(/*"org.mitk.views.datamanager",*/ m_SelListener); }
void QmitkPreprocessingView::Activated | ( | ) | [virtual] |
Called when the functionality is activated.
Reimplemented from QmitkFunctionality.
Definition at line 182 of file QmitkPreprocessingView.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<PrpSelListener>()->DoSelectionChanged(sel); }
void QmitkPreprocessingView::AverageGradients | ( | ) | [protected, slot] |
Definition at line 272 of file QmitkPreprocessingView.cpp.
References berry::SmartPointer< TObjectType >::Cast(), DoAverageGradients(), and m_CurrentSelection.
Referenced by CreateConnections().
{ 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); } } } DoAverageGradients(set); } }
void QmitkPreprocessingView::BrainMask | ( | ) | [protected, slot] |
Definition at line 325 of file QmitkPreprocessingView.cpp.
References berry::SmartPointer< TObjectType >::Cast(), DoBrainMask(), and m_CurrentSelection.
Referenced by CreateConnections().
{ 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); } } } DoBrainMask(set); } }
void QmitkPreprocessingView::CreateConnections | ( | ) | [virtual] |
Creation of the connections of main and control widget.
Definition at line 171 of file QmitkPreprocessingView.cpp.
References AverageGradients(), BrainMask(), ExtractB0(), Ui_QmitkPreprocessingViewControls::m_ButtonAverageGradients, Ui_QmitkPreprocessingViewControls::m_ButtonBrainMask, Ui_QmitkPreprocessingViewControls::m_ButtonExtractB0, and m_Controls.
Referenced by CreateQtPartControl().
{ if ( m_Controls ) { connect( (QObject*)(m_Controls->m_ButtonAverageGradients), SIGNAL(clicked()), this, SLOT(AverageGradients()) ); connect( (QObject*)(m_Controls->m_ButtonExtractB0), SIGNAL(clicked()), this, SLOT(ExtractB0()) ); connect( (QObject*)(m_Controls->m_ButtonBrainMask), SIGNAL(clicked()), this, SLOT(BrainMask()) ); } }
void QmitkPreprocessingView::CreateQtPartControl | ( | QWidget * | parent ) | [virtual] |
Implements berry::QtViewPart.
Definition at line 143 of file QmitkPreprocessingView.cpp.
References berry::SmartPointer< TObjectType >::Cast(), CreateConnections(), berry::WorkbenchPart::GetSite(), m_Controls, m_CurrentSelection, m_SelListener, PrpSelListener, and Ui_QmitkPreprocessingViewControls::setupUi().
{ if (!m_Controls) { // create GUI widgets m_Controls = new Ui::QmitkPreprocessingViewControls; m_Controls->setupUi(parent); this->CreateConnections(); } m_SelListener = berry::ISelectionListener::Pointer(new PrpSelListener(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<PrpSelListener>()->DoSelectionChanged(sel); }
void QmitkPreprocessingView::Deactivated | ( | ) | [virtual] |
Only called when IsExclusiveFunctionality() returns true.
Reimplemented from QmitkFunctionality.
Definition at line 192 of file QmitkPreprocessingView.cpp.
void QmitkPreprocessingView::DoAverageGradients | ( | mitk::DataStorage::SetOfObjects::Pointer | inImages ) | [protected, slot] |
Definition at line 303 of file QmitkPreprocessingView.cpp.
References mitk::DiffusionImage< TPixelType >::AverageRedundantGradients().
Referenced by AverageGradients().
{ 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 { mitk::DiffusionImage<DiffusionPixelType>* vols = static_cast<mitk::DiffusionImage<DiffusionPixelType>*>( (*itemiter)->GetData()); vols->AverageRedundantGradients(m_Controls->m_Blur->value()); ++itemiter; } }
void QmitkPreprocessingView::DoBrainMask | ( | mitk::DataStorage::SetOfObjects::Pointer | inImages ) | [protected, slot] |
Definition at line 356 of file QmitkPreprocessingView.cpp.
References mitk::DiffusionImage< TPixelType >::GetDirections(), mitk::DiffusionImage< TPixelType >::GetVectorImage(), mitk::StringProperty::New(), mitk::DataNode::New(), and mitk::Image::New().
Referenced by BrainMask().
{ 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 { mitk::DiffusionImage<DiffusionPixelType>* vols = static_cast<mitk::DiffusionImage<DiffusionPixelType>*>( (*itemiter)->GetData()); std::string nodename; (*itemiter)->GetStringProperty("name", nodename); // Extract image using found index typedef itk::B0ImageExtractionImageFilter<short, short> FilterType; FilterType::Pointer filter = FilterType::New(); filter->SetInput(vols->GetVectorImage()); filter->SetDirections(vols->GetDirections()); typedef itk::CastImageFilter<itk::Image<short,3>, itk::Image<unsigned short,3> > CastFilterType; CastFilterType::Pointer castfilter = CastFilterType::New(); castfilter->SetInput(filter->GetOutput()); typedef itk::BrainMaskExtractionImageFilter<unsigned char> MaskFilterType; MaskFilterType::Pointer maskfilter = MaskFilterType::New(); maskfilter->SetInput(castfilter->GetOutput()); maskfilter->Update(); mitk::Image::Pointer mitkImage = mitk::Image::New(); mitkImage->InitializeByItk( maskfilter->GetOutput() ); mitkImage->SetVolume( maskfilter->GetOutput()->GetBufferPointer() ); mitk::DataNode::Pointer node=mitk::DataNode::New(); node->SetData( mitkImage ); node->SetProperty( "name", mitk::StringProperty::New(nodename + "_Mask")); GetDefaultDataStorage()->Add(node); ++itemiter; } }
void QmitkPreprocessingView::DoExtractB0 | ( | mitk::DataStorage::SetOfObjects::Pointer | inImages ) | [protected, slot] |
Definition at line 228 of file QmitkPreprocessingView.cpp.
References mitk::StringProperty::New(), mitk::DataNode::New(), and mitk::Image::New().
Referenced by ExtractB0().
{ typedef mitk::DiffusionImage<DiffusionPixelType> DiffusionImageType; typedef DiffusionImageType::GradientDirectionContainerType GradientContainerType; 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 { DiffusionImageType* vols = static_cast<DiffusionImageType*>( (*itemiter)->GetData()); std::string nodename; (*itemiter)->GetStringProperty("name", nodename); // Extract image using found index typedef itk::B0ImageExtractionImageFilter<short, short> FilterType; FilterType::Pointer filter = FilterType::New(); filter->SetInput(vols->GetVectorImage()); filter->SetDirections(vols->GetDirections()); filter->Update(); mitk::Image::Pointer mitkImage = mitk::Image::New(); mitkImage->InitializeByItk( filter->GetOutput() ); mitkImage->SetVolume( filter->GetOutput()->GetBufferPointer() ); mitk::DataNode::Pointer node=mitk::DataNode::New(); node->SetData( mitkImage ); node->SetProperty( "name", mitk::StringProperty::New(nodename + "_B0")); GetDefaultDataStorage()->Add(node); ++itemiter; } }
void QmitkPreprocessingView::ExtractB0 | ( | ) | [protected, slot] |
Definition at line 198 of file QmitkPreprocessingView.cpp.
References berry::SmartPointer< TObjectType >::Cast(), DoExtractB0(), and m_CurrentSelection.
Referenced by CreateConnections().
{ 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); } } } DoExtractB0(set); } }
void QmitkPreprocessingView::SetDefaultNodeProperties | ( | mitk::DataNode::Pointer | node, |
std::string | name | ||
) | [protected] |
void QmitkPreprocessingView::StdMultiWidgetAvailable | ( | QmitkStdMultiWidget & | stdMultiWidget ) | [virtual] |
Called when a StdMultiWidget is available. Should not be used anymore, see GetActiveStdMultiWidget()
Reimplemented from QmitkFunctionality.
Definition at line 161 of file QmitkPreprocessingView.cpp.
References m_MultiWidget.
{ m_MultiWidget = &stdMultiWidget; }
void QmitkPreprocessingView::StdMultiWidgetNotAvailable | ( | ) | [virtual] |
Called when no StdMultiWidget is available anymore. Should not be used anymore, see GetActiveStdMultiWidget()
Reimplemented from QmitkFunctionality.
Definition at line 166 of file QmitkPreprocessingView.cpp.
References m_MultiWidget.
{ m_MultiWidget = NULL; }
friend struct PrpSelListener [friend] |
Definition at line 50 of file QmitkPreprocessingView.h.
Referenced by CreateQtPartControl().
Definition at line 91 of file QmitkPreprocessingView.h.
Referenced by CreateConnections(), and CreateQtPartControl().
Definition at line 98 of file QmitkPreprocessingView.h.
Referenced by Activated(), AverageGradients(), BrainMask(), CreateQtPartControl(), PrpSelListener::DoSelectionChanged(), and ExtractB0().
QmitkStdMultiWidget* QmitkPreprocessingView::m_MultiWidget [protected] |
Definition at line 93 of file QmitkPreprocessingView.h.
Referenced by StdMultiWidgetAvailable(), and StdMultiWidgetNotAvailable().
Definition at line 97 of file QmitkPreprocessingView.h.
Referenced by Activated(), CreateQtPartControl(), and ~QmitkPreprocessingView().
const int QmitkPreprocessingView::nrconvkernels [static] |
Definition at line 75 of file QmitkPreprocessingView.h.
const std::string QmitkPreprocessingView::VIEW_ID = "org.mitk.views.preprocessing" [static] |
Definition at line 57 of file QmitkPreprocessingView.h.