diff --git a/Core/Code/Controllers/mitkReferenceCountWatcher.h b/Core/Code/Controllers/mitkReferenceCountWatcher.h index d1a0710f96..1734aee3ba 100644 --- a/Core/Code/Controllers/mitkReferenceCountWatcher.h +++ b/Core/Code/Controllers/mitkReferenceCountWatcher.h @@ -1,107 +1,108 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ #include "itkCommand.h" #include +#include namespace mitk { //##Documentation //## @brief Keeps track of the reference count of an object even if //## it is destroyed. //## //## Example usage: //## \code //## SomeFilter* filter = GetSomeFilter(); //## ReferenceCountWatcher::Pointer filterWatcher; //## filterWatcher = new ReferenceCountWatcher(filter, "name of filter"); //## filterWatcher->GetReferenceCount(); //## \endcode //## @ingroup Testing class ReferenceCountWatcher : public itk::Object { public: typedef itk::SimpleMemberCommand CommandType; mitkClassMacro(ReferenceCountWatcher, itk::Object); protected: //##Documentation //## @brief Object to be watched itk::Object* m_Object; //##Documentation //## @brief Optional comment, e.g. for debugging output std::string m_Comment; //##Documentation //## @brief If \a true, \a m_Object is no longer valid //## and the returned reference count will be 0. bool m_Deleted; //##Documentation //## @brief itk::Command to get a notification when the object //## is deleted. CommandType::Pointer m_DeleteCommand; public: //##Documentation //## @brief Constructor requiring object to be watched and allowing //## an optional comment. ReferenceCountWatcher(itk::Object* o, const char *comment="") : m_Object(o), m_Comment(comment), m_Deleted(false), m_ObserverTag(0) { m_DeleteCommand = CommandType::New(); m_DeleteCommand->SetCallbackFunction(this, &ReferenceCountWatcher::DeleteObserver); if(m_Object!=NULL) m_ObserverTag = m_Object->AddObserver(itk::DeleteEvent(), m_DeleteCommand); m_ReferenceCountLock.Lock(); m_ReferenceCount = 0; m_ReferenceCountLock.Unlock(); } //##Documentation //## @brief Destructor: remove observer ~ReferenceCountWatcher() { if((m_Deleted == false) && (m_Object != NULL)) { m_Object->RemoveObserver(m_ObserverTag); } } //##Documentation //## @brief Return the reference count of the watched object or //## 0 if it has been destroyed int GetReferenceCount() const { if(m_Object == NULL) return -1; if(m_Deleted) return 0; return m_Object->GetReferenceCount(); } //##Documentation //## @brief Return the optional string comment itkGetStringMacro(Comment); protected: //##Documentation //## @brief Callback called on itk::DeleteEvent() of wathched object. void DeleteObserver() { m_Deleted = true; } unsigned long m_ObserverTag; }; } diff --git a/Core/Code/DataManagement/mitkTimeSlicedGeometry.h b/Core/Code/DataManagement/mitkTimeSlicedGeometry.h index 76eb5a6e47..1de4988cf4 100644 --- a/Core/Code/DataManagement/mitkTimeSlicedGeometry.h +++ b/Core/Code/DataManagement/mitkTimeSlicedGeometry.h @@ -1,181 +1,182 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ #ifndef TIMESLICEDGEOMETRY_H_HEADER_INCLUDED_C1EBD0AD #define TIMESLICEDGEOMETRY_H_HEADER_INCLUDED_C1EBD0AD #include "mitkGeometry3D.h" namespace mitk { //##Documentation //## @brief Describes a geometry consisting of several geometries which //## exist at different times. //## //## The geometry contains m_TimeSteps geometries, which can be accessed //## using GetGeometry3D(int t). To convert between world-time in //## milliseconds and the integer timestep-number use MSToTimeStep. //## The hull (in space and time) of the TimeSlicedGeometry contains all //## contained geometries. //## @warning The hull (i.e., transform, bounding-box and //## time-bounds) is only guaranteed to be up-to-date after calling //## UpdateInformation(). //## //## TimeSlicedGeometry and the associated Geometry3Ds have to be //## initialized in the method GenerateOutputInformation() of BaseProcess (or //## CopyInformation/ UpdateOutputInformation of BaseData, if possible, e.g., //## by analyzing pic tags in Image) subclasses. See also //## itk::ProcessObject::GenerateOutputInformation(), //## itk::DataObject::CopyInformation() and //## itk::DataObject::UpdateOutputInformation(). //## //## @ingroup Geometry class MITK_CORE_EXPORT TimeSlicedGeometry : public Geometry3D { public: mitkClassMacro(TimeSlicedGeometry, Geometry3D); itkNewMacro(Self); //##Documentation //## @brief Re-calculate the hull of the contained geometries. //## //## The transforms, bounding-box and time-bounds of this //## geometry (stored in members of the super-class Geometry3D) //## are re-calculated from the contained geometries. void UpdateInformation(); //##Documentation //## @brief Get the number of time-steps itkGetConstMacro(TimeSteps, unsigned int); //##Documentation //## @brief Set/Get whether the TimeSlicedGeometry is evenly-timed (m_EvenlyTimed) //## //## If (a) we don't have a Geometry3D stored for the requested time, //## (b) m_EvenlyTimed is activated and (c) the first geometry (t=0) //## is set, then we clone the geometry and set the m_TimeBounds accordingly. //## \sa GetGeometry3D itkGetConstMacro(EvenlyTimed, bool); virtual void SetEvenlyTimed(bool on = true); //##Documentation //## @brief Set the Geometry3D for time @a t virtual bool SetGeometry3D(mitk::Geometry3D* geometry3D, int t); //##Documentation //## @brief When switching from an Image Geometry to a normal Geometry (and the other way around), you have to change the origin as well (See Geometry Documentation)! This function will change the "isImageGeometry" bool flag and changes the origin respectively. virtual void ChangeImageGeometryConsideringOriginOffset( const bool isAnImageGeometry ); //##Documentation //## @brief Get the Geometry3D at time @a t virtual mitk::Geometry3D* GetGeometry3D(int t) const; //##Documentation //## @brief Test whether @a t is a valid time step virtual bool IsValidTime(int t) const; //##Documentation //## @brief Returns true if TimeSliceGeometry is valid virtual bool IsValid() const; //##Documentation //## @brief Convert time in ms to a time step virtual int MSToTimeStep(mitk::ScalarType time_in_ms) const; //##Documentation //## @brief Convert time step to time in ms virtual mitk::ScalarType TimeStepToMS(int timestep) const; //##Documentation //## @brief Convert time step in the reference TimeSlicedGeometry to time step //## in this TimeSlicedGeometry. virtual int TimeStepToTimeStep(const mitk::TimeSlicedGeometry *referenceGeometry, int t) const; //##Documentation //## @brief Completely initialize this instance as evenly-timed with //## \a timeSteps geometries of type Geometry3D, each initialized by //## Geometry3D::Initialize(). virtual void InitializeEvenlyTimed(unsigned int timeSteps); //##Documentation //## @brief Completely initialize this instance as evenly-timed with //## \a timeSteps geometries identical to the provided Geometry3D //## except for the time bounds virtual void InitializeEvenlyTimed(mitk::Geometry3D* geometry3D, unsigned int timeSteps); //##Documentation //## @brief Initialize this instance to contain \a timeSteps //## geometries, but without setting them yet virtual void InitializeEmpty(unsigned int timeSteps); //##Documentation //## @brief Expand the number of time steps contained //## to \a timeSteps. //## //## New, additional time steps will be initialized empty. //## Only enlargement of the time steps vector is intended and possible. virtual void ExpandToNumberOfTimeSteps( unsigned int timeSteps ); virtual void SetImageGeometry(const bool isAnImageGeometry); //##Documentation //## @brief Copy the m_TimeBounds of the geometries contained //## in timeslicedgeometry into the geometries contained in this //## TimeSlicedGeometry object. //## //## Useful for initialization of the TimeSlicedGeometry of the //## output in GenerateOutputInformation() methods of process objects, //## see for example BoundingObjectCutter::GenerateOutputInformation(). //## @param t start time index //## @param endtimeindex (endtimeindex) is the time index of //## the last geometry whose time-bounds are copied. If //## timeslicedgeometry or this TimeSlicedGeometry object does //## not contain enough geometries, endtimeindex is reduced //## appropriately. void CopyTimes(const mitk::TimeSlicedGeometry* timeslicedgeometry, unsigned int t=0, unsigned int endtimeindex = itk::NumericTraits::max()); //##Documentation //## @brief duplicates the geometry virtual AffineGeometryFrame3D::Pointer Clone() const; - TimeSlicedGeometry::Pointer CloneCopy() const; + // muellerm, 18.1.13, method not implemented + //TimeSlicedGeometry::Pointer CloneCopy() const; virtual void ExecuteOperation(Operation* operation); protected: TimeSlicedGeometry(); TimeSlicedGeometry(const TimeSlicedGeometry& other); virtual ~TimeSlicedGeometry(); virtual void PrintSelf(std::ostream& os, itk::Indent indent) const; mutable std::vector m_Geometry3Ds; //##Documentation //## @brief Number of time steps unsigned int m_TimeSteps; //##Documentation //## @brief \a true in case the time steps have equal length bool m_EvenlyTimed; static const std::string EVENLY_TIMED; static const std::string TIME_STEPS; }; } // namespace mitk #endif /* TIMESLICEDGEOMETRY_H_HEADER_INCLUDED_C1EBD0AD */ diff --git a/Plugins/org.mitk.gui.qt.python.console/CMakeLists.txt b/Plugins/org.mitk.gui.qt.python.console/CMakeLists.txt index 59aab2aaa5..af3ed2618a 100644 --- a/Plugins/org.mitk.gui.qt.python.console/CMakeLists.txt +++ b/Plugins/org.mitk.gui.qt.python.console/CMakeLists.txt @@ -1,20 +1,22 @@ # The project name must correspond to the directory name of your plug-in # and must not contain periods. if(MITK_USE_Python) project(org_mitk_gui_qt_python_console) - set(SWIG_PYTHON_WRAPPER _mitkCorePython SwigRuntimePython) + set(SWIG_PYTHON_WRAPPER _MitkPython SwigRuntimePython) MACRO_CREATE_MITK_CTK_PLUGIN( EXPORT_DIRECTIVE CONSOLE_EXPORT EXPORTED_INCLUDE_SUFFIXES src MODULE_DEPENDENCIES QmitkExt CTK ) - include_directories("${MITK_WRAPPING_SOURCE_DIR}/CSwig" "${MITK_WRAPPING_BINARY_DIR}/CSwig/Core") + configure_file("mitkPythonPath.h.in" "${MITK_BINARY_DIR}/Wrapping/mitkPythonPath.h") + + include_directories("${MITK_BINARY_DIR}/Wrapping" "${MITK_BINARY_DIR}/Wrapping/CSwig/Core") target_link_libraries(org_mitk_gui_qt_python_console ${SWIG_PYTHON_WRAPPER}) - + else() message("MITK Python Console needs Python. Enable MITK_USE_PYTHON") -endif() \ No newline at end of file +endif() diff --git a/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkCTKPythonShell.cpp b/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkCTKPythonShell.cpp index cd4c6b80c8..8c809d09e7 100644 --- a/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkCTKPythonShell.cpp +++ b/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkCTKPythonShell.cpp @@ -1,80 +1,80 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ #include "QmitkCTKPythonShell.h" #include "mitkNodePredicateDataType.h" #include "QmitkDataStorageComboBox.h" #include "QmitkStdMultiWidget.h" #include "mitkDataStorageEditorInput.h" // berry Includes #include #include #include #include #include #include #include -#include +#include QmitkCTKPythonShell::QmitkCTKPythonShell(ctkAbstractPythonManager* pythonManager, QWidget* _parent) { this->initialize( pythonManager ); m_PythonManager = pythonManager; QmitkPythonMediator::getInstance()->registerPasteCommandClient( this ); } QmitkCTKPythonShell::~QmitkCTKPythonShell() { QmitkPythonMediator::getInstance()->unregisterPasteCommandClient( this ); } void QmitkCTKPythonShell::dragEnterEvent(QDragEnterEvent *event) { event->accept(); } void QmitkCTKPythonShell::paste(const QString& command) { m_PythonManager->executeString( command ); } void QmitkCTKPythonShell::dropEvent(QDropEvent *event) { QList urls = event->mimeData()->urls(); for(int i = 0; i < urls.size(); i++) { m_PythonManager->executeString(urls[i].toString()); } } bool QmitkCTKPythonShell::canInsertFromMimeData( const QMimeData *source ) const { return true; } void QmitkCTKPythonShell::executeCommand(const QString& command) { emit this->executeCommandSignal(command); ctkPythonConsole::executeCommand(command); QmitkPythonMediator::getInstance()->update(); } diff --git a/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonCommandHistory.cpp b/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonCommandHistory.cpp index c2990e7c94..ec60472e23 100644 --- a/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonCommandHistory.cpp +++ b/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonCommandHistory.cpp @@ -1,124 +1,124 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ // Blueberry #include #include #include // Qmitk #include "QmitkPythonCommandHistory.h" #include "QmitkPythonConsoleView.h" #include "QmitkStdMultiWidget.h" // Qt #include #include "mitkCoreObjectFactory.h" #include #include #include -#include +#include #include #include "berryFileEditorInput.h" #include const std::string QmitkPythonCommandHistory::VIEW_ID = "org.mitk.views.pythoncommandhistory"; QmitkPythonCommandHistory::QmitkPythonCommandHistory() : QmitkFunctionality() //, m_Controls( 0 ) , m_MultiWidget( NULL ) { } QmitkPythonCommandHistory::~QmitkPythonCommandHistory() { QmitkPythonMediator::getInstance()->unregisterClient(this); } void QmitkPythonCommandHistory::CreateQtPartControl( QWidget *parent ) { QGridLayout *gridLayout; if (parent->objectName().isEmpty()) parent->setObjectName(QString::fromUtf8("parent")); parent->resize(790, 773); parent->setMinimumSize(QSize(0, 0)); gridLayout = new QGridLayout(parent); gridLayout->setObjectName(QString::fromUtf8("gridLayout")); m_treeWidget = new QmitkPythonCommandHistoryTreeWidget(parent); QTreeWidgetItem *treeWidgetItem = new QTreeWidgetItem(); treeWidgetItem->setText(0, QString::fromUtf8("Command")); treeWidgetItem->setFlags(Qt::ItemIsEditable); m_treeWidget->setHeaderItem(treeWidgetItem); m_treeWidget->setObjectName(QString::fromUtf8("treeWidget")); m_treeWidget->setColumnCount(1); m_treeWidget->setDragEnabled(true); m_treeWidget->setDragDropMode(QAbstractItemView::DragOnly); m_treeWidget->setAcceptDrops(false); m_treeWidget->setSelectionMode(QAbstractItemView::ExtendedSelection); gridLayout->addWidget(m_treeWidget, 0, 0, 1, 1); parent->setWindowTitle(QApplication::translate("QmitkPythonConsoleViewControls", "QmitkTemplate", 0, QApplication::UnicodeUTF8)); QMetaObject::connectSlotsByName(parent); QmitkPythonMediator::getInstance()->setClient(this); } void QmitkPythonCommandHistory::StdMultiWidgetAvailable (QmitkStdMultiWidget &stdMultiWidget) { m_MultiWidget = &stdMultiWidget; } void QmitkPythonCommandHistory::StdMultiWidgetNotAvailable() { m_MultiWidget = NULL; } void QmitkPythonCommandHistory::AddCommand(const QString& command) { m_commandHistory.push_back(QStringList() << command); m_treeWidget->clear(); for(int i = 0; i < m_commandHistory.size(); i++) { if( m_commandHistory[i].value(0).compare("") != 0 ) m_treeWidget->addTopLevelItem(new QTreeWidgetItem(m_commandHistory[i])); } } void QmitkPythonCommandHistory::SetCommandHistory(std::vector history) { m_commandHistory = history; m_treeWidget->clear(); for(int i = 0; i < m_commandHistory.size(); i++) { if( m_commandHistory[i].value(0).compare("") != 0 ) m_treeWidget->addTopLevelItem(new QTreeWidgetItem(m_commandHistory[i])); } } void QmitkPythonCommandHistory::update() { SetCommandHistory(QmitkPythonMediator::getInstance()->GetCommandHistory()); } diff --git a/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonConsoleView.cpp b/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonConsoleView.cpp index 44033d205b..46c4016ec9 100644 --- a/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonConsoleView.cpp +++ b/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonConsoleView.cpp @@ -1,177 +1,180 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ // Blueberry #include #include #include // Qmitk #include "QmitkPythonConsoleView.h" #include "QmitkStdMultiWidget.h" // Qt #include #include #include "mitkCoreObjectFactory.h" #include #include #include #include -#include +#include #include //#include #include "berryFileEditorInput.h" #include #include "QmitkPythonVariableStack.h" #include "QmitkPythonCommandHistory.h" #include "mitkPythonPath.h" const std::string QmitkPythonConsoleView::VIEW_ID = "org.mitk.views.pythonconsole"; QmitkPythonConsoleView::QmitkPythonConsoleView() : QmitkFunctionality() //, m_Controls( 0 ) , m_MultiWidget( NULL ) ,m_ctkPythonManager( NULL ) ,m_ctkPythonShell( NULL ) { // TODO: take it to the activator // std::cout << "running PYTHON PATH COMMANDS" << std::endl; QmitkPythonMediator::getInstance()->runSimpleString("import sys"); + + /* std::string cmd ( "sys.path.append('" MITK_PYTHONPATH_MITK_LIBRARY_DIRS "');" ); QmitkPythonMediator::getInstance()->runSimpleString(cmd.c_str()); cmd = "sys.path.append('" MITK_PYTHONPATH_ITK_LIBRARY_DIRS "');"; QmitkPythonMediator::getInstance()->runSimpleString(cmd.c_str()); cmd = "sys.path.append('" MITK_PYTHONPATH_WRAP_ITK_DIR "');"; QmitkPythonMediator::getInstance()->runSimpleString(cmd.c_str()); cmd = "sys.path.append('" MITK_PYTHONPATH_VTK_LIBRARY_DIRS "');"; QmitkPythonMediator::getInstance()->runSimpleString(cmd.c_str()); cmd = "sys.path.append('" MITK_PYTHONPATH_VTK_PYTHON_WRAPPING_DIR "');"; QmitkPythonMediator::getInstance()->runSimpleString(cmd.c_str()); if( strcmp("", MITK_PYTHONPATH_OPEN_CV_LIBRARY_DIRS) != 0 ) { // std::cout << "setting opencv PYTHON PATH" << std::endl; cmd = "sys.path.append('" MITK_PYTHONPATH_OPEN_CV_LIBRARY_DIRS "');"; QmitkPythonMediator::getInstance()->runSimpleString(cmd.c_str()); } + */ } QmitkPythonConsoleView::~QmitkPythonConsoleView() { QmitkPythonMediator::getInstance()->unregisterClient(this); } void QmitkPythonConsoleView::CreateQtPartControl( QWidget *parent ) { QGridLayout *gridLayout; if (parent->objectName().isEmpty()) parent->setObjectName(QString::fromUtf8("parent")); parent->resize(790, 774); parent->setMinimumSize(QSize(0, 0)); gridLayout = new QGridLayout(parent); gridLayout->setObjectName(QString::fromUtf8("gridLayout")); m_ctkPythonManager = new ctkAbstractPythonManager(parent); m_ctkPythonShell = new QmitkCTKPythonShell(m_ctkPythonManager, parent); m_ctkPythonShell->setObjectName(QString::fromUtf8("m_ctkPythonShell")); m_ctkPythonShell->setMinimumSize(QSize(120, 100)); m_ctkPythonShell->setMaximumSize(QSize(2000, 2000)); gridLayout->addWidget(m_ctkPythonShell, 0, 0, 1, 1); m_ButtonOpenEditor = new QPushButton(parent); m_ButtonOpenEditor->setObjectName(QString::fromUtf8("m_ButtonOpenEditor")); gridLayout->addWidget(m_ButtonOpenEditor, 1, 0, 1, 1); parent->setWindowTitle(QApplication::translate("parent", "QmitkTemplate", 0, QApplication::UnicodeUTF8)); m_ButtonOpenEditor->setText(QApplication::translate("parent", "Open Editor", 0, QApplication::UnicodeUTF8)); QMetaObject::connectSlotsByName(parent); mitk::DataStorage::Pointer dataStorage = this->GetDefaultDataStorage(); m_ctkPythonManager->executeString("import mitk"); QmitkPythonMediator::getInstance()->setClient(this); QmitkPythonMediator::getInstance()->update(); connect( m_ctkPythonShell, SIGNAL(executeCommandSignal(const QString&)), this, SLOT(SetCommandHistory(const QString&))); connect( m_ButtonOpenEditor, SIGNAL(clicked()), this, SLOT(OpenEditor()) ); } void QmitkPythonConsoleView::StdMultiWidgetAvailable (QmitkStdMultiWidget &stdMultiWidget) { m_MultiWidget = &stdMultiWidget; } void QmitkPythonConsoleView::StdMultiWidgetNotAvailable() { m_MultiWidget = NULL; } void QmitkPythonConsoleView::OnSelectionChanged( std::vector nodes ) { for( std::vector::iterator it = nodes.begin(); it != nodes.end(); ++it ) { mitk::DataNode::Pointer node = *it; if( node.IsNotNull() && dynamic_cast(node->GetData()) ) { return; } } } void QmitkPythonConsoleView::NodeAdded(const mitk::DataNode* node) { } void QmitkPythonConsoleView::OpenEditor() { berry::FileEditorInput::Pointer editorInput; editorInput = new berry::FileEditorInput(""); m_PythonEditor = this->GetSite()->GetPage()->OpenEditor(editorInput, QmitkPythonEditor::EDITOR_ID, true, berry::IWorkbenchPage::MATCH_NONE).Cast(); } void QmitkPythonConsoleView::SetCommandHistory(const QString& command) { QmitkPythonMediator::getInstance()->SetCommandHistory(command); // QmitkPythonMediator::getInstance()->update(); mitk::RenderingManager::GetInstance()->RequestUpdateAll(); } void QmitkPythonConsoleView::update() { //QmitkPythonMediator::runSimpleString("\r\n"); } QmitkPythonMediator *QmitkPythonConsoleView::getPythonMediator() { return m_PythonMediator; } diff --git a/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonEditor.h b/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonEditor.h index da49644f58..0836656c7a 100644 --- a/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonEditor.h +++ b/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonEditor.h @@ -1,69 +1,67 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ #ifndef QMITKPYTHONEDITOR_H_ #define QMITKPYTHONEDITOR_H_ #include #include #include -#include "mitkQtCommonDll.h" - #include #include #include #include "QmitkPythonScriptEditor.h" class QmitkPythonEditor : public berry::QtEditorPart, virtual public berry::IPartListener { Q_OBJECT public: berryObjectMacro(QmitkPythonEditor); static const std::string EDITOR_ID; QmitkPythonEditor(); QmitkPythonEditor(const QmitkPythonEditor& other) { Q_UNUSED(other) throw std::runtime_error("Copy constructor not implemented"); } ~QmitkPythonEditor(); void Init(berry::IEditorSite::Pointer site, berry::IEditorInput::Pointer input); void SetFocus(); void DoSave() {} void DoSaveAs() {} bool IsDirty() const { return false; } bool IsSaveAsAllowed() const { return false; } protected: void CreateQtPartControl(QWidget* parent); Events::Types GetPartEventTypes() const; private: QmitkPythonScriptEditor *m_PythonScriptEditor; }; #endif diff --git a/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonMediator.cpp b/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonMediator.cpp index be79ea40a2..29f892fa2e 100755 --- a/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonMediator.cpp +++ b/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonMediator.cpp @@ -1,150 +1,150 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ #include "QmitkPythonMediator.h" -#include +#include QmitkPythonMediator::QmitkPythonMediator() { } QmitkPythonMediator::~QmitkPythonMediator() { } void QmitkPythonMediator::Initialize() { if(!Py_IsInitialized()) Py_Initialize(); } void QmitkPythonMediator::Finalize() { if(m_clients.size() == 0) Py_Finalize(); } QmitkPythonMediator *QmitkPythonMediator::getInstance() { static QmitkPythonMediator m_mediatorInstance; return &m_mediatorInstance; } void QmitkPythonMediator::paste(const QString& pasteCommand) { std::set::iterator it = m_PasteClients.begin(); while( it!= m_PasteClients.end()) { (*it)->paste( pasteCommand ); ++it; } } void QmitkPythonMediator::runSimpleString(const char* str) { if(!Py_IsInitialized()){ Py_Initialize(); } PyRun_SimpleString(str); } std::vector QmitkPythonMediator::getAttributeList() { PyObject* dict = PyImport_GetModuleDict(); PyObject* object = PyDict_GetItemString(dict, "__main__"); PyObject* dirMain = PyObject_Dir(object); PyObject* tempObject; std::vector variableStack; if(dirMain){ QString attr, attrValue, attrType; variableStack.clear(); for(int i = 0; iob_type->tp_name; if(PyUnicode_Check(tempObject) || PyString_Check(tempObject)) attrValue = PyString_AsString(tempObject); else attrValue = ""; variableStack.push_back(QStringList() << attr << attrValue << attrType); } } return variableStack; } PyObject * QmitkPythonMediator::getPyObject(PyObject * object) { PyObject* dict = PyImport_GetModuleDict(); PyObject* main = PyDict_GetItemString(dict, "__main__"); return PyObject_GetAttr(main, object); } PyObject * QmitkPythonMediator::getPyObjectString(QString * objectName) { PyObject* dict = PyImport_GetModuleDict(); PyObject* main = PyDict_GetItemString(dict, "__main__"); return PyObject_GetAttrString(main, objectName->toLocal8Bit().data()); } void QmitkPythonMediator::registerPasteCommandClient(QmitkPythonPasteClient * client ) { m_PasteClients.insert( client ); } void QmitkPythonMediator::unregisterPasteCommandClient(QmitkPythonPasteClient * client) { m_PasteClients.erase( client ); } void QmitkPythonMediator::setClient(QmitkPythonClient * client) { m_clients.insert(client); } void QmitkPythonMediator::unregisterClient(QmitkPythonClient * client) { m_clients.erase( client ); } void QmitkPythonMediator::update() { if(Py_IsInitialized) { std::set::iterator it = m_clients.begin(); while( it!= m_clients.end()) { (*it)->update(); ++it; } } } void QmitkPythonMediator::SetCommandHistory(const QString& command) { m_commandHistory.push_back(QStringList() << command); } std::vector QmitkPythonMediator::GetCommandHistory() { return m_commandHistory; } diff --git a/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonMediator.h b/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonMediator.h index 845f052245..ba86af9c28 100755 --- a/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonMediator.h +++ b/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonMediator.h @@ -1,74 +1,75 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ #ifndef QmitkPythonMediator_h #define QmitkPythonMediator_h #include #include #include #include -#include +//#include +#include #include "mitkCommon.h" class QmitkPythonClient { public: virtual ~QmitkPythonClient(){}; virtual void update() = 0; }; class QmitkPythonPasteClient { public: virtual ~QmitkPythonPasteClient(){}; virtual void paste(const QString&) = 0; }; class QmitkPythonMediator { public: void update(); static void runSimpleString(const char*); static std::vector getAttributeList(); static PyObject * getPyObject(PyObject * object); static PyObject * getPyObjectString(QString * objectName); static QmitkPythonMediator *getInstance(); void setClient(QmitkPythonClient *); void unregisterClient(QmitkPythonClient *); void registerPasteCommandClient(QmitkPythonPasteClient *); void unregisterPasteCommandClient(QmitkPythonPasteClient *); void paste(const QString& pasteCommand); std::vector GetCommandHistory(); void SetCommandHistory(const QString&); void Initialize(); void Finalize(); protected: QmitkPythonMediator(); virtual ~QmitkPythonMediator(); private: std::set m_clients; std::set m_PasteClients; std::vector m_commandHistory; std::vector m_variableStack; }; #endif // _QMITKPYTHONCONSOLEVIEW_H_INCLUDED diff --git a/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonPerspective.cpp b/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonPerspective.cpp index f4bd8e2867..f6a12d0661 100644 --- a/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonPerspective.cpp +++ b/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonPerspective.cpp @@ -1,42 +1,46 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ #include "QmitkPythonPerspective.h" #include "berryIViewLayout.h" void QmitkPythonPerspective::CreateInitialLayout(berry::IPageLayout::Pointer layout) { std::string editorArea = layout->GetEditorArea(); layout->AddView("org.mitk.views.datamanager", berry::IPageLayout::LEFT, 0.3f, editorArea); layout->AddView("org.mitk.views.pythoncommandhistory", berry::IPageLayout::TOP, 0.3f, "org.mitk.views.datamanager"); berry::IViewLayout::Pointer lo = layout->GetViewLayout("org.mitk.views.datamanager"); lo->SetCloseable(false); berry::IFolderLayout::Pointer leftbottomFolder = layout->CreateFolder("leftbottom", berry::IPageLayout::BOTTOM, 0.7f, "org.mitk.views.datamanager"); leftbottomFolder->AddView("org.mitk.views.pythonvariablestack"); leftbottomFolder->AddView("org.mitk.views.pythonsnippets"); leftbottomFolder->AddView("org.mitk.views.imagenavigator"); berry::IFolderLayout::Pointer bottomFolder = layout->CreateFolder("bottom", berry::IPageLayout::BOTTOM, 0.7f, editorArea); bottomFolder->AddView("org.mitk.views.pythonconsole"); bottomFolder->AddView("org.mitk.views.propertylistview"); bottomFolder->AddView("org.blueberry.views.logview"); } + +QmitkPythonPerspective::QmitkPythonPerspective() +{ +} diff --git a/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonPerspective.h b/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonPerspective.h index 97c8e7b1f6..06ad0ea1e6 100644 --- a/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonPerspective.h +++ b/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonPerspective.h @@ -1,39 +1,40 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ #ifndef QMITKPYTHONPERSPECTIVE_H_ #define QMITKPYTHONPERSPECTIVE_H_ #include #include struct QmitkPythonPerspective : public QObject, public berry::IPerspectiveFactory { Q_OBJECT void CreateInitialLayout(berry::IPageLayout::Pointer layout); - +public: + QmitkPythonPerspective(); QmitkPythonPerspective(const QmitkPythonPerspective& other) { Q_UNUSED(other) throw std::runtime_error("Copy constructor not implemented"); } }; #endif /* QMITKEXTDEFAULTPERSPECTIVE_H_ */ diff --git a/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonScriptEditor.h b/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonScriptEditor.h index 7ba84380ab..aca9a3700b 100644 --- a/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonScriptEditor.h +++ b/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonScriptEditor.h @@ -1,69 +1,67 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ #ifndef QMITKPYTHONSCRIPTEDITOR_H_ #define QMITKPYTHONSCRIPTEDITOR_H_ #include #include #include "QmitkPythonTextEditor.h" //#include -#include "mitkQtCommonDll.h" - #include #include #include #include #include #include "QmitkPythonMediator.h" class QmitkPythonScriptEditor : public QWidget, public QmitkPythonPasteClient //, berry::QtEditorPart { // this is needed for all Qt objects that should have a Qt meta-object // (everything that derives from QObject and wants to have signal/slots) Q_OBJECT public: berryObjectMacro(QmitkPythonScriptEditor); static const std::string EDITOR_ID; QmitkPythonScriptEditor(QWidget *parent = 0); virtual void paste(const QString& command); ~QmitkPythonScriptEditor(); signals: void RanScript(); protected slots: /// \brief Called when the user clicks the GUI button void LoadScript(const char *); void SaveScript(); void OpenScript(); void RunScript(); protected: private: QTextEdit* m_TextEditor; FILE *m_scriptFile; QmitkPythonMediator *m_PythonMediator; }; #endif diff --git a/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonSnippets.h b/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonSnippets.h index ed58674c8a..66ce80ac14 100644 --- a/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonSnippets.h +++ b/Plugins/org.mitk.gui.qt.python.console/src/internal/QmitkPythonSnippets.h @@ -1,98 +1,98 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ #ifndef _QmitkPythonSnippets_H #define _QmitkPythonSnippets_H #include #include "berryISizeProvider.h" #include #include #include #include "QmitkStepperAdapter.h" #include "ui_QmitkPythonSnippets.h" #include #include "berryISizeProvider.h" #include #include #include #include #include #include #include #include /*! * \ingroup org_mitk_gui_qt_imagenavigator_internal * * \brief QmitkPythonSnippets * * Document your class here. * * \sa QmitkFunctionality */ -class QmitkPythonSnippets : public QObject, public berry::QtViewPart, public berry::ISizeProvider +class QmitkPythonSnippets : public berry::QtViewPart, public berry::ISizeProvider { // this is needed for all Qt objects that should have a MOC object (everything that derives from QObject) Q_OBJECT public: static const std::string VIEW_ID; static std::map CreateDefaultSnippets(); static const std::map DEFAULT_SNIPPETS; QmitkPythonSnippets(); virtual ~QmitkPythonSnippets(); virtual void CreateQtPartControl(QWidget *parent); QmitkStdMultiWidget* GetActiveStdMultiWidget(); void SetFocus(); virtual int GetSizeFlags(bool width); virtual int ComputePreferredSize(bool width, int /*availableParallel*/, int /*availablePerpendicular*/, int preferredResult); protected slots: void on_Name_currentIndexChanged(int i); void on_RenameSnippet_clicked(); void on_AddNewSnippet_clicked(); void on_RemoveSnippet_clicked(); void on_PasteNow_clicked(); void on_RestoreDefaultSnippets_clicked(); void on_Content_textChanged(); protected: void Update(); void CreateUniqueName( QString& name ); QmitkStdMultiWidget* m_MultiWidget; QTableWidget *m_tableWidget; Ui::QmitkPythonSnippets* m_Controls; std::map m_Snippets; QString m_NameToSelect; }; #endif // _QmitkPythonSnippets_H_INCLUDED diff --git a/Wrapping/CSwig/mitkCSwigMacros.h b/Wrapping/CSwig/Core/mitkCSwigMacros.h similarity index 100% rename from Wrapping/CSwig/mitkCSwigMacros.h rename to Wrapping/CSwig/Core/mitkCSwigMacros.h diff --git a/Wrapping/CSwig/Core/wrapSources.cmake b/Wrapping/CSwig/Core/wrapSources.cmake index ccd693e9dc..f8a99e9fc7 100644 --- a/Wrapping/CSwig/Core/wrapSources.cmake +++ b/Wrapping/CSwig/Core/wrapSources.cmake @@ -1,247 +1,247 @@ # create the mitkControllers libraries set(WRAP_SOURCES_TEST #Algorithms: #wrap_itkImportMitkImageContainer //Template: can be wrapped; TODO: instantiate the needed templates #wrap_itkLocalVariationImageFilter //Template: can be wrapped; TODO: instantiate the needed templates #wrap_itkMITKScalarImageToHistogramGenerator //Template: can be wrapped; TODO: instantiate the needed templates #wrap_itkTotalVariationDenoisingImageFilter //Template: can be wrapped; TODO: instantiate the needed templates #wrap_itkTotalVariationSingleIterationImageFilter //Template: can be wrapped; TODO: instantiate the needed templates wrap_mitkBaseDataSource wrap_mitkBaseProcess wrap_mitkCoreObjectFactory wrap_mitkCoreObjectFactoryBase wrap_mitkDataNodeFactory wrap_mitkDataNodeSource wrap_mitkGeometry2DDataToSurfaceFilter wrap_mitkHistogramGenerator #wrap_mitkImageAccessByItk //Template: can be wrapped; TODO: instantiate the needed templates #wrap_mitkImageCast //Template: can be wrapped; TODO: instantiate the needed templates #wrap_mitkImageCastPart1 //Template: can be wrapped; TODO: instantiate the needed templates #wrap_mitkImageCastPart2 //Template: can be wrapped; TODO: instantiate the needed templates #wrap_mitkImageCastPart3 //Template: can be wrapped; TODO: instantiate the needed templates #wrap_mitkImageCastPart4 //Template: can be wrapped; TODO: instantiate the needed templates wrap_mitkImageChannelSelector wrap_mitkImageSliceSelector wrap_mitkImageSource wrap_mitkImageTimeSelector wrap_mitkImageToImageFilter wrap_mitkImageToItk #wrap_mitkInstantiateAccessFunctions // Macros wrap_mitkITKImageImport wrap_mitkPointSetSource wrap_mitkRGBToRGBACastImageFilter wrap_mitkSubImageSelector wrap_mitkSurfaceSource wrap_mitkSurfaceToSurfaceFilter wrap_mitkUIDGenerator wrap_mitkVolumeCalculator #Controllers: wrap_mitkBaseController wrap_mitkCallbackFromGUIThread wrap_mitkCameraController wrap_mitkCameraRotationController wrap_mitkFocusManager wrap_mitkLimitedLinearUndo wrap_mitkOperationEvent wrap_mitkProgressBar wrap_mitkProgressBarImplementation wrap_mitkReferenceCountWatcher wrap_mitkRenderingManager wrap_mitkRenderingManagerFactory wrap_mitkSliceNavigationController wrap_mitkSlicesCoordinator wrap_mitkSlicesRotator wrap_mitkSlicesSwiveller wrap_mitkStatusBar wrap_mitkStatusBarImplementation wrap_mitkStepper #wrap_mitkTestingMacros //Macros wrap_mitkTestManager wrap_mitkUndoController wrap_mitkUndoModel wrap_mitkVerboseLimitedLinearUndo wrap_mitkVtkInteractorCameraController wrap_mitkVtkLayerController #DataManagement: #wrap_itkVtkAbstractTransform //Template: can be wrapped; TODO: instantiate the needed templates wrap_mitkAbstractTransformGeometry wrap_mitkAnnotationProperty wrap_mitkApplicationCursor wrap_mitkBaseData wrap_mitkBaseDataTestImplementation wrap_mitkBaseProperty wrap_mitkClippingProperty wrap_mitkColorProperty #wrap_mitkCommon //Macros wrap_mitkDataNode wrap_mitkDataStorage wrap_mitkDisplayGeometry wrap_mitkEnumerationProperty wrap_mitkGenericLookupTable #wrap_mitkGenericProperty //Template: can be wrapped; TODO: instantiate the needed templates wrap_mitkGeometry2D wrap_mitkGeometry2DData wrap_mitkGeometry3D wrap_mitkGeometryData wrap_mitkGroupTagProperty wrap_mitkImage wrap_mitkImageDataItem #wrap_mitkItkMatrixHack //Template: can be wrapped; TODO: instantiate the needed templates wrap_mitkLandmarkBasedCurvedGeometry wrap_mitkLandmarkProjector wrap_mitkLandmarkProjectorBasedCurvedGeometry wrap_mitkLevelWindow wrap_mitkLevelWindowManager wrap_mitkLevelWindowPreset wrap_mitkLevelWindowProperty #wrap_mitkLine //Template: can be wrapped; TODO: instantiate the needed templates wrap_mitkLookupTable wrap_mitkLookupTables wrap_mitkMaterial #wrap_mitkMatrixConvert //Template: can be wrapped; TODO: instantiate the needed templates wrap_mitkMemoryUtilities wrap_mitkModalityProperty wrap_mitkModeOperation wrap_mitkNodePredicateAND wrap_mitkNodePredicateBase wrap_mitkNodePredicateCompositeBase wrap_mitkNodePredicateData wrap_mitkNodePredicateDataType wrap_mitkNodePredicateDimension wrap_mitkNodePredicateFirstLevel wrap_mitkNodePredicateNOT wrap_mitkNodePredicateOR wrap_mitkNodePredicateProperty wrap_mitkNodePredicateSource wrap_mitkPlaneOrientationProperty wrap_mitkPlaneGeometry wrap_mitkPlaneOperation wrap_mitkPointOperation wrap_mitkPointSet wrap_mitkProperties wrap_mitkPropertyList wrap_mitkResliceMethodProperty wrap_mitkRotationOperation wrap_mitkShaderProperty wrap_mitkSlicedData wrap_mitkSlicedGeometry3D wrap_mitkSmartPointerProperty wrap_mitkStandaloneDataStorage wrap_mitkStateTransitionOperation wrap_mitkStringProperty wrap_mitkSurface wrap_mitkSurfaceOperation wrap_mitkThinPlateSplineCurvedGeometry wrap_mitkTimeSlicedGeometry wrap_mitkTransferFunction wrap_mitkTransferFunctionProperty #wrap_mitkVector //Template: can be wrapped; TODO: instantiate the needed templates wrap_mitkVtkInterpolationProperty wrap_mitkVtkRepresentationProperty wrap_mitkVtkResliceInterpolationProperty wrap_mitkVtkScalarModeProperty wrap_mitkVtkVolumeRenderingProperty #wrap_mitkWeakPointer //Template: can be wrapped; TODO: instantiate the needed templates wrap_mitkWeakPointerProperty #Interactions: wrap_mitkAction wrap_mitkAffineInteractor wrap_mitkCoordinateSupplier wrap_mitkDisplayCoordinateOperation wrap_mitkDisplayInteractor wrap_mitkDisplayPositionEvent wrap_mitkDisplayVectorInteractor wrap_mitkEvent wrap_mitkEventDescription wrap_mitkEventMapper wrap_mitkGlobalInteraction wrap_mitkInteractor wrap_mitkKeyEvent #wrap_mitkMessage //Macros;Templates: can be wrapped; TODO: instantiate the needed templates wrap_mitkMouseMovePointSetInteractor wrap_mitkPointSetInteractor wrap_mitkPositionEvent wrap_mitkPositionTracker wrap_mitkState wrap_mitkStateEvent wrap_mitkStateMachine wrap_mitkStateMachineFactory wrap_mitkTransition wrap_mitkWheelEvent #IO: wrap_mitkBaseDataIOFactory wrap_mitkDicomSeriesReader wrap_mitkFileReader wrap_mitkFileSeriesReader wrap_mitkFileWriter wrap_mitkFileWriterWithInformation wrap_mitkImageWriter wrap_mitkImageWriterFactory #wrap_mitkIOAdapter //Template: can be wrapped; TODO: instantiate the needed templates wrap_mitkItkImageFileIOFactory wrap_mitkItkImageFileReader #wrap_mitkItkPictureWrite //Template: can be wrapped; TODO: instantiate the needed templates wrap_mitkLog wrap_mitkLookupTableProperty wrap_mitkOperation wrap_mitkOperationActor - wrap_mitkPicFileIOFactory - wrap_mitkPicFileReader - wrap_mitkPicFileWriter - wrap_mitkPicHelper - wrap_mitkPicVolumeTimeSeriesIOFactory - wrap_mitkPicVolumeTimeSeriesReader + #wrap_mitkPicFileIOFactory + #wrap_mitkPicFileReader + #wrap_mitkPicFileWriter + #wrap_mitkPicHelper + #wrap_mitkPicVolumeTimeSeriesIOFactory + #wrap_mitkPicVolumeTimeSeriesReader wrap_mitkPixelType wrap_mitkPointSetIOFactory wrap_mitkPointSetReader wrap_mitkPointSetWriter wrap_mitkPointSetWriterFactory #wrap_mitkRawImageFileReader // need to be modified; wrapper class tries to convert from 'std::string' to 'char *' wrap_mitkStandardFileLocations wrap_mitkSTLFileIOFactory wrap_mitkSTLFileReader #wrap_mitkSurfaceVtkWriter //Template: can be wrapped; TODO: instantiate the needed templates wrap_mitkSurfaceVtkWriterFactory wrap_mitkVtiFileIOFactory wrap_mitkVtiFileReader wrap_mitkVtkImageIOFactory wrap_mitkVtkImageReader wrap_mitkVtkSurfaceIOFactory wrap_mitkVtkSurfaceReader wrap_vtkPointSetXMLParser #Rendering: #wrap_mitkBaseRenderer //leads to a crash of cswig; after bug fixed in cswig -> circular import error wrap_mitkVtkMapper2D wrap_mitkVtkMapper3D wrap_mitkGeometry2DDataMapper2D wrap_mitkGeometry2DDataVtkMapper3D wrap_mitkGLMapper2D wrap_mitkGradientBackground - wrap_mitkImageMapperGL2D + #wrap_mitkImageMapperGL2D wrap_mitkMapper wrap_mitkMapper2D wrap_mitkMapper3D wrap_mitkPointSetGLMapper2D wrap_mitkPointSetVtkMapper3D wrap_mitkPolyDataGLMapper2D wrap_mitkShaderRepository wrap_mitkSurfaceGLMapper2D wrap_mitkSurfaceVtkMapper3D wrap_mitkVolumeDataVtkMapper3D wrap_mitkVtkPropRenderer wrap_mitkVtkWidgetRendering wrap_vtkMitkRectangleProp wrap_vtkMitkRenderProp wrap_vtkMitkThickSlicesFilter wrap_mitkManufacturerLogo wrap_mitkCommonSuperclasses wrap_mitkImageCaster #wrap_qmitkFunctionality ) diff --git a/Wrapping/CSwig/Core/wrap_mitkCorePython.cxx b/Wrapping/CSwig/Core/wrap_MitkPython.cxx similarity index 97% rename from Wrapping/CSwig/Core/wrap_mitkCorePython.cxx rename to Wrapping/CSwig/Core/wrap_MitkPython.cxx index d457d87d17..4e8654e0f4 100644 --- a/Wrapping/CSwig/Core/wrap_mitkCorePython.cxx +++ b/Wrapping/CSwig/Core/wrap_MitkPython.cxx @@ -1,262 +1,262 @@ #define MITK_WRAP_PACKAGE "mitkCorePython" //#include "wrap_MITKAlgorithms.cxx" /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ /*=================================================================== This file is based heavily on a corresponding ITK filter. ===================================================================*/ #ifdef CABLE_CONFIGURATION namespace _cable_ { const char* const package = MITK_WRAP_PACKAGE; const char* const groups[] = { //For further information about the classes which were not wrapped, please have a look at the file wrapSources.cmake //Algorithms: //"ProcessObject", "BaseDataSource", "BaseProcess", "CoreObjectFactory", "CoreObjectFactoryBase", "DataNodeFactory", "DataNodeSource", "Geometry2DDataToSurfaceFilter", "HistogramGenerator", "ImageChannelSelector", "ImageSliceSelector", "ImageSource", "ImageTimeSelector", "ImageToImageFilter", "ImageToItk", "ITKImageImport", "PointSetSource", "RGBToRGBACastImageFilter", "SubImageSelector", "SurfaceSource", "SurfaceToSurfaceFilter", "VolumeCalculator", //Controllers: "BaseController", "CallbackFromGUIThread", "CameraController", "CameraRotationController", "FocusManager", "LimitedLinearUndo", "OperationEvent", "ProgressBar", "ProgressBarImplementation", //"ReferenceCountWatcher", "RenderingManager", "RenderingManagerFactory", "SliceNavigationController", "SlicesCoordinator", "SlicesRotator", "SlicesSwiveller", "StatusBar", "StatusBarImplementation", "Stepper", //"TestingMacros", "TestManager", "UndoController", "UndoModel", "VerboseLimitedLinearUndo", "VtkInteractorCameraController", "VtkLayerController", //DataManagement: //"VtkAbstractTransform", "AbstractTransformGeometry", "AnnotationProperty", "ApplicationCursor", "BaseData", "BaseDataTestImplementation", "BaseProperty", "ClippingProperty", "ColorProperty", //"Common", "DataNode", "DataStorage", "DisplayGeometry", "EnumerationProperty", "GenericLookupTable", //"GenericProperty", "Geometry2D", "Geometry2DData", "Geometry3D", "GeometryData", "GroupTagProperty", "Image", "ImageDataItem", //"ItkMatirxHack", "LandmarkBasedCurvedGeometry", "LandmarkProjector", "LandmarkProjectorBasedCurvedGeometry", "LevelWindow", "LevelWindowManager", "LevelWindowPreset", "LevelWindowProperty", //Line", "LookupTable", "LookupTables", "Material", //"MatrixConvert", "ModalityProperty", "NodePredicateAnd", "NodePredicateBase", "NodePredicateCompositeBase", "NodePredicateData", "NodePredicateDataType", "NodePredicateDimension", "NodePredicateFirstLevel", "NodePredicateNot", "NodePredicateOr", "NodePredicateProperty", "NodePredicateSource", "PlaneOrientationProperty", "PlaneGeometry", "PlaneOperation", "PointOperation", "PointSet", "Properties", "PropertyList", "ResliceMethodProperty", "RotationOperation", "ShaderProperty", "SlicedData", "SlicedGeometry3D", "SmartPointerProperty", "StandaloneDataStorage", "StateTransitionOperation", "StringProperty", "Surface", "ThinPlateSplineCurvedGeometry", "TimeSlicedGeometry", "TransferFunction", "TransferFunctionProperty", //"Vector", "VtkInterpolationProperty", "VtkRepresentationProperty", "VtkResliceInterpolationProperty", "VtkScalarModeProperty", "VtkVolumeRenderingProperty", //"WeakPointer", "WeakPointerProperty", //Interactions: "Action", "AffineInteractor", "CoordinateSupplier", "DisplayCoordinateOperation", "DisplayInteractor", "DisplayPositionEvent", "DisplayVectorInteractor", "Event", "EventDescription", "EventMapper", "GlobalInteraction", "Interactor", "KeyEvent", //"Message", "MouseMovePointSetInteractor", "PointSetInteractor", "PositionEvent", "PositionTracker", "State", "StateEvent", "StateMachine", "StateMachineFactory", "Transition", "WheelEvent", //IO: "BaseDataIO", "DicomSeriesReader", "FileReader", "FileSeriesReader", "FileWriter", "FileWriterWithInformation", "ImageWriter", "ImageWriterFactory", //"IOAdapter", //"IpPicGet", "ItkImageFileIOFactory", "ItkImageFileReader", "Log", "LookupTableProperty", "Operation", "OperationActor", - "PicFileIOFactory", - "PicFileReader", - "PicFileWriter", - "PicHelper", - "PicVolumeTimeSeriesIOFactory", - "PicVolumeTimeSeriesReader", + //"PicFileIOFactory", + //PicFileReader", + //"PicFileWriter", + //"PicHelper", + //"PicVolumeTimeSeriesIOFactory", + //"PicVolumeTimeSeriesReader", "PixelType", "PointSetIOFactory", "PointSetReader", "PointSetWriter", "PointSetWriterFactory", //"RawImageFileReader", "StandardFileLocations", "STLFileIOFactory", "STLFileReader", //"SurfaceVtkWriter", "SurfaceVtkWriterFactory", "VtiFileIOFactory", "VtiFileReader", "VtkImageIOFactory", "VtkImageReader", "VtkSurfaceIOFactory", "VtkSurfaceReader", "vtkPointSetXMLParser", //Rendering: //"BaseRenderer", "VtkMapper2D", "VtkMapper3D", "Geometry2DDataMapper2D", "Geometry2DDataVtkMapper3D", "GLMapper2D", "GradientBackground", - "ImageMapperGL2D", + //"ImageMapperGL2D", "Mapper", "Mapper2D", "Mapper3D", "PointSetGLMapper2D", "PointSetVtkMapper3D", "PolyDataGLMapper2D", "PolyDataGLMapper2D", "ShaderRepository", "SurfaceGLMapper2D", "SurfaceVtkMapper3D", "VtkPropRenderer", "VtkWidgetRendering", "vtkMitkRectangleProp", "vtkMitkRenderProp", "vtkMitkThickSlicesFilter", "CommonSuperclasses", "ImageCaster", //"QmitkFunctionality" }; } #endif diff --git a/Wrapping/CSwig/Core/wrap_mitkCommonSuperclasses.cxx b/Wrapping/CSwig/Core/wrap_mitkCommonSuperclasses.cxx index 6396822453..03403356c6 100644 --- a/Wrapping/CSwig/Core/wrap_mitkCommonSuperclasses.cxx +++ b/Wrapping/CSwig/Core/wrap_mitkCommonSuperclasses.cxx @@ -1,39 +1,39 @@ #include "mitkCommon.h" #include "mitkBaseProcess.h" #include "mitkCSwigMacros.h" #include "mbilog.h" #include "itkObject.h" #include "itkDataObject.h" #include "itkProcessObject.h" #include "itkLightObject.h" #include "itkObjectFactoryBase.h" #pragma GCC visibility push(default) #include #pragma GCC visibility pop #include "itkSmartPointerForwardReference.h" #include "itkAffineTransform.h" #include "itkMatrixOffsetTransformBase.h" #ifdef CABLE_CONFIGURATION namespace _cable_ { const char* const group="CommonSuperclasses"; namespace wrappers { ITK_WRAP_OBJECT(Object) ITK_WRAP_OBJECT(DataObject) ITK_WRAP_OBJECT(ProcessObject) ITK_WRAP_OBJECT(LightObject) ITK_WRAP_OBJECT(ObjectFactoryBase) typedef itk::EndEvent::EndEvent EndEvent; - typedef mbilog::AbstractBackend::AbstractBackend AbstractBackend; + //typedef mbilog::AbstractBackend::AbstractBackend AbstractBackend; typedef itk::AffineTransform::AffineTransform AffineTransform_F3U; typedef itk::AffineTransform::Pointer::SmartPointer AffineTransform_F3U_Pointer; typedef itk::MatrixOffsetTransformBase::MatrixOffsetTransformBase MatrixOffsetTransformBase_F3U3U; typedef itk::MatrixOffsetTransformBase::Pointer::SmartPointer MatrixOffsetTransformBase_F3U3U_Pointer; } } #endif diff --git a/Wrapping/CSwig/Core/wrap_mitkImageDataItem.cxx b/Wrapping/CSwig/Core/wrap_mitkImageDataItem.cxx index 86c890d17e..d404b27815 100644 --- a/Wrapping/CSwig/Core/wrap_mitkImageDataItem.cxx +++ b/Wrapping/CSwig/Core/wrap_mitkImageDataItem.cxx @@ -1,16 +1,17 @@ #include "mitkImageDataItem.h" +#include "mitkImage.h" #include "mitkCSwigMacros.h" #ifdef CABLE_CONFIGURATION namespace _cable_ { const char* const group="ImageDataItem"; namespace wrappers { MITK_WRAP_OBJECT(ImageDataItem) } } #endif diff --git a/Wrapping/CSwig/Core/wrap_mitkPicFileIOFactory.cxx b/Wrapping/CSwig/Core/wrap_mitkPicFileIOFactory.cxx deleted file mode 100644 index 242172f0b5..0000000000 --- a/Wrapping/CSwig/Core/wrap_mitkPicFileIOFactory.cxx +++ /dev/null @@ -1,16 +0,0 @@ -#include "mitkPicFileIOFactory.h" -#include "mitkCSwigMacros.h" - -#ifdef CABLE_CONFIGURATION - -namespace _cable_ -{ - const char* const group="PicFileIOFactory"; - namespace wrappers - { - MITK_WRAP_OBJECT(PicFileIOFactory) - } -} - -#endif - diff --git a/Wrapping/CSwig/mitkvtk.swg b/Wrapping/CSwig/mitkvtk.swg index 52ab3c003b..6fd061db97 100644 --- a/Wrapping/CSwig/mitkvtk.swg +++ b/Wrapping/CSwig/mitkvtk.swg @@ -1,59 +1,60 @@ %include exception.i %{ #include "vtkImageImport.h" #include "vtkImageExport.h" #include "vtkImageData.h" #include "vtkRenderWindow.h" #include "vtkRenderer.h" +#include "vtkPythonUtil.h" %} #ifdef SWIGPYTHON %{ #include "vtkPythonUtil.h" %} %typemap(out) vtkImageExport* { PyImport_ImportModule("vtk"); - $result = vtkPythonGetObjectFromPointer ( (vtkImageExport*)$1 ); + $result = vtkPythonUtil::GetObjectFromPointer ( (vtkImageExport*)$1 ); } %typemap(out) vtkImageImport* { PyImport_ImportModule("vtk"); - $result = vtkPythonGetObjectFromPointer ( (vtkImageImport*)$1 ); + $result = vtkPythonUtil::GetObjectFromPointer ( (vtkImageImport*)$1 ); } %typemap(out) vtkImageData* { PyImport_ImportModule("vtk"); - $result = vtkPythonGetObjectFromPointer ( (vtkImageData*)$1 ); + $result = vtkPythonUtil::GetObjectFromPointer ( (vtkImageData*)$1 ); } %typemap(in) vtkImageData* { $1 = NULL; - $1 = (vtkImageData*) vtkPythonGetPointerFromObject ( $input, "vtkImageData" ); + $1 = (vtkImageData*) vtkPythonUtil::GetPointerFromObject ( $input, "vtkImageData" ); if ( $1 == NULL ) { SWIG_fail; } } %typemap(out) vtkRenderWindow* { PyImport_ImportModule("vtk"); - $result = vtkPythonGetObjectFromPointer ( (vtkRenderWindow*)$1 ); + $result = vtkPythonUtil::GetObjectFromPointer ( (vtkRenderWindow*)$1 ); } %typemap(in) vtkRenderWindow* { $1 = NULL; - $1 = (vtkRenderWindow*) vtkPythonGetPointerFromObject ( $input, "vtkRenderWindow" ); + $1 = (vtkRenderWindow*) vtkPythonUtil::GetPointerFromObject ( $input, "vtkRenderWindow" ); if ( $1 == NULL ) { SWIG_fail; } } %typemap(out) vtkRenderer* { PyImport_ImportModule("vtk"); - $result = vtkPythonGetObjectFromPointer ( (vtkRenderer*)$1 ); + $result = vtkPythonUtil::GetObjectFromPointer ( (vtkRenderer*)$1 ); } %typemap(in) vtkRenderer* { $1 = NULL; - $1 = (vtkRenderer*) vtkPythonGetPointerFromObject ( $input, "vtkRenderer" ); + $1 = (vtkRenderer*) vtkPythonUtil::GetPointerFromObject ( $input, "vtkRenderer" ); if ( $1 == NULL ) { SWIG_fail; } } #endif diff --git a/Wrapping/CSwig/wrap_mitkCorePython.cxx b/Wrapping/CSwig/wrap_mitkCorePython.cxx deleted file mode 100644 index f4328bca44..0000000000 --- a/Wrapping/CSwig/wrap_mitkCorePython.cxx +++ /dev/null @@ -1,59 +0,0 @@ -#define MITK_WRAP_PACKAGE "mitkCorePython" -//#include "wrap_MITKAlgorithms.cxx" -/*=================================================================== - -The Medical Imaging Interaction Toolkit (MITK) - -Copyright (c) German Cancer Research Center, -Division of Medical and Biological Informatics. -All rights reserved. - -This software is distributed WITHOUT ANY WARRANTY; without -even the implied warranty of MERCHANTABILITY or FITNESS FOR -A PARTICULAR PURPOSE. - -See LICENSE.txt or http://www.mitk.org for details. - -===================================================================*/ - -/*=================================================================== - -This file is based heavily on a corresponding ITK filter. - -===================================================================*/ -#ifdef CABLE_CONFIGURATION - -namespace _cable_ -{ - const char* const package = MITK_WRAP_PACKAGE; - const char* const groups[] = - { - "BaseController", - "CallbackFromGUIThread", - "CameraController", - "CameraRotationController", - "FocusManager", - "LimitedLinearUndo", - "OperationEvent", - "ProgressBar", - "ProgressBarImplementation", - //"ReferenceCountWatcher", - "RenderingManager", - "RenderingManagerFactory", - "SliceNavigationController", - "SlicesCoordinator", - "SlicesRotator", - "SlicesSwiveller", - "StatusBar", - "StatusBarImplementation", - "Stepper", - //"TestingMacros", - "TestManager", - "UndoController", - "UndoModel", - "VerboseLimitedLinearUndo", - "VtkInteractorCameraController", - "VtkLayerController" - }; -} -#endif diff --git a/Wrapping/wrap_mitkCorePython.cxx b/Wrapping/wrap_mitkCorePython.cxx deleted file mode 100644 index f4328bca44..0000000000 --- a/Wrapping/wrap_mitkCorePython.cxx +++ /dev/null @@ -1,59 +0,0 @@ -#define MITK_WRAP_PACKAGE "mitkCorePython" -//#include "wrap_MITKAlgorithms.cxx" -/*=================================================================== - -The Medical Imaging Interaction Toolkit (MITK) - -Copyright (c) German Cancer Research Center, -Division of Medical and Biological Informatics. -All rights reserved. - -This software is distributed WITHOUT ANY WARRANTY; without -even the implied warranty of MERCHANTABILITY or FITNESS FOR -A PARTICULAR PURPOSE. - -See LICENSE.txt or http://www.mitk.org for details. - -===================================================================*/ - -/*=================================================================== - -This file is based heavily on a corresponding ITK filter. - -===================================================================*/ -#ifdef CABLE_CONFIGURATION - -namespace _cable_ -{ - const char* const package = MITK_WRAP_PACKAGE; - const char* const groups[] = - { - "BaseController", - "CallbackFromGUIThread", - "CameraController", - "CameraRotationController", - "FocusManager", - "LimitedLinearUndo", - "OperationEvent", - "ProgressBar", - "ProgressBarImplementation", - //"ReferenceCountWatcher", - "RenderingManager", - "RenderingManagerFactory", - "SliceNavigationController", - "SlicesCoordinator", - "SlicesRotator", - "SlicesSwiveller", - "StatusBar", - "StatusBarImplementation", - "Stepper", - //"TestingMacros", - "TestManager", - "UndoController", - "UndoModel", - "VerboseLimitedLinearUndo", - "VtkInteractorCameraController", - "VtkLayerController" - }; -} -#endif