00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date: 2009-07-14 19:11:20 +0200 (Tue, 14 Jul 2009) $ 00006 Version: $Revision: 18127 $ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or https://www.mitk.org/copyright.html for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 00018 #include "mitkDiffusionImagingActivator.h" 00019 #include "mitkDiffusionImagingObjectFactory.h" 00020 00021 #include "QmitkNodeDescriptorManager.h" 00022 #include "mitkNodePredicateDataType.h" 00023 //#include "mitkDataNodeObject.h" 00024 // 00025 //#include "berryISelectionService.h" 00026 //#include "berryIStructuredSelection.h" 00027 //#include "berryPlatformUI.h" 00028 // 00029 //#include <QLabel> 00030 //#include <QHBoxLayout> 00031 00032 void 00033 mitk::DiffusionImagingActivator::Start(berry::IBundleContext::Pointer /*context*/) 00034 { 00035 RegisterDiffusionImagingObjectFactory(); 00036 00037 QmitkNodeDescriptorManager* manager = 00038 QmitkNodeDescriptorManager::GetInstance(); 00039 00040 mitk::NodePredicateDataType::Pointer isDiffusionImage = mitk::NodePredicateDataType::New("DiffusionImage"); 00041 QmitkNodeDescriptor* desc = new QmitkNodeDescriptor(QObject::tr("DiffusionImage"), QString(":/QmitkDiffusionImaging/QBallData24.png"), isDiffusionImage, manager); 00042 manager->AddDescriptor(desc); 00043 00044 mitk::NodePredicateDataType::Pointer isTensorImage = mitk::NodePredicateDataType::New("TensorImage"); 00045 manager->AddDescriptor(new QmitkNodeDescriptor(QObject::tr("TensorImage"), QString(":/QmitkDiffusionImaging/recontensor.png"), isTensorImage, manager)); 00046 00047 mitk::NodePredicateDataType::Pointer isQBallImage = mitk::NodePredicateDataType::New("QBallImage"); 00048 manager->AddDescriptor(new QmitkNodeDescriptor(QObject::tr("QBallImage"), QString(":/QmitkDiffusionImaging/reconodf.png"), isQBallImage, manager)); 00049 00050 //m_OpacitySlider = new QSlider; 00051 //m_OpacitySlider->setMinimum(0); 00052 //m_OpacitySlider->setMaximum(100); 00053 //m_OpacitySlider->setOrientation(Qt::Horizontal); 00054 //QObject::connect( m_OpacitySlider, SIGNAL( valueChanged(int) ) 00055 // , this, SLOT( OpactiyChanged(int) ) ); 00056 00057 //QLabel* _OpacityLabel = new QLabel("Channel: "); 00058 //QHBoxLayout* _OpacityWidgetLayout = new QHBoxLayout; 00059 //_OpacityWidgetLayout->addWidget(_OpacityLabel); 00060 //_OpacityWidgetLayout->addWidget(m_OpacitySlider); 00061 //QWidget* _OpacityWidget = new QWidget; 00062 //_OpacityWidget->setLayout(_OpacityWidgetLayout); 00063 00064 //QWidgetAction* m_OpacityAction = new QWidgetAction(this); 00065 //m_OpacityAction->setDefaultWidget(_OpacityWidget); 00066 //QObject::connect( m_OpacityAction, SIGNAL( changed() ) 00067 // , this, SLOT( OpactiyActionChanged() ) ); 00068 00069 // desc->AddAction(m_OpacityAction, false); 00070 00071 } 00072 00073 //void mitk::DiffusionImagingActivator::OpactiyChanged(int value) 00074 //{ 00075 // berry::ISelection::ConstPointer sel( 00076 // berry::PlatformUI::GetWorkbench()->GetActiveWorkbenchWindow()->GetSelectionService()->GetSelection("org.mitk.views.datamanager")); 00077 // berry::IStructuredSelection::ConstPointer ssel = sel.Cast<const berry::IStructuredSelection>(); 00078 // 00079 // if (ssel) 00080 // { 00081 // if (mitk::DataNodeObject::Pointer nodeObj = ssel->Begin()->Cast<mitk::DataNodeObject>()) 00082 // { 00083 // mitk::DataNode::Pointer node = nodeObj->GetDataNode(); 00084 // if(QString("DiffusionImage").compare(node->GetData()->GetNameOfClass())==0) 00085 // { 00086 // node->SetIntProperty("DisplayChannel", value); 00087 // mitk::RenderingManager::GetInstance()->RequestUpdateAll(); 00088 // } 00089 // } 00090 // } 00091 //} 00092 // 00093 //void mitk::DiffusionImagingActivator::OpactiyActionChanged() 00094 //{ 00095 // berry::ISelection::ConstPointer sel( 00096 // berry::PlatformUI::GetWorkbench()->GetActiveWorkbenchWindow()->GetSelectionService()->GetSelection("org.mitk.views.datamanager")); 00097 // berry::IStructuredSelection::ConstPointer ssel = sel.Cast<const berry::IStructuredSelection>(); 00098 // 00099 // if (ssel) 00100 // { 00101 // if (mitk::DataNodeObject::Pointer nodeObj = ssel->Begin()->Cast<mitk::DataNodeObject>()) 00102 // { 00103 // mitk::DataNode::Pointer node = nodeObj->GetDataNode(); 00104 // if(QString("DiffusionImage").compare(node->GetData()->GetNameOfClass())==0) 00105 // { 00106 // int displayChannel = 0.0; 00107 // if(node->GetIntProperty("DisplayChannel", displayChannel)) 00108 // { 00109 // m_OpacitySlider->setValue(displayChannel); 00110 // } 00111 // } 00112 // } 00113 // } 00114 // 00115 // MITK_INFO << "changed"; 00116 //}