diff --git a/Modules/DiffusionImaging/Rendering/mitkConnectomicsNetworkMapper3D.cpp b/Modules/DiffusionImaging/Rendering/mitkConnectomicsNetworkMapper3D.cpp index d83ef55fe8..797452df5b 100644 --- a/Modules/DiffusionImaging/Rendering/mitkConnectomicsNetworkMapper3D.cpp +++ b/Modules/DiffusionImaging/Rendering/mitkConnectomicsNetworkMapper3D.cpp @@ -1,475 +1,508 @@ /*=================================================================== 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 "mitkConnectomicsNetworkMapper3D.h" #include #include "vtkGraphLayout.h" #include #include "vtkGraphToPolyData.h" #include #include "vtkGlyph3D.h" #include "vtkGlyphSource2D.h" #include "mitkConnectomicsRenderingProperties.h" #include "mitkConnectomicsRenderingSchemeProperty.h" #include "mitkConnectomicsRenderingEdgeFilteringProperty.h" #include "mitkConnectomicsRenderingNodeFilteringProperty.h" #include "mitkConnectomicsRenderingNodeColoringSchemeProperty.h" +#include "mitkConnectomicsRenderingNodeColorParameterProperty.h" +#include "mitkConnectomicsRenderingNodeRadiusParameterProperty.h" +#include "mitkConnectomicsRenderingEdgeColorParameterProperty.h" +#include "mitkConnectomicsRenderingEdgeRadiusParameterProperty.h" mitk::ConnectomicsNetworkMapper3D::ConnectomicsNetworkMapper3D() { m_NetworkAssembly = vtkPropAssembly::New(); } mitk::ConnectomicsNetworkMapper3D:: ~ConnectomicsNetworkMapper3D() { m_NetworkAssembly->Delete(); } void mitk::ConnectomicsNetworkMapper3D::GenerateDataForRenderer(mitk::BaseRenderer* renderer) { if( this->GetInput() == NULL ) { return; } bool propertiesHaveChanged = this->PropertiesChanged(); if( this->GetInput()->GetIsModified( ) || propertiesHaveChanged ) { GenerateData(); } } void mitk::ConnectomicsNetworkMapper3D::GenerateData() { m_NetworkAssembly->Delete(); m_NetworkAssembly = vtkPropAssembly::New(); // Here is the part where a graph is given and converted to points and connections between points... std::vector< mitk::ConnectomicsNetwork::NetworkNode > vectorOfNodes = this->GetInput()->GetVectorOfAllNodes(); std::vector< std::pair< std::pair< mitk::ConnectomicsNetwork::NetworkNode, mitk::ConnectomicsNetwork::NetworkNode > , mitk::ConnectomicsNetwork::NetworkEdge > > vectorOfEdges = this->GetInput()->GetVectorOfAllEdges(); // Decide on the style of rendering due to property if( m_ChosenRenderingScheme == connectomicsRenderingMITKScheme ) { mitk::Point3D tempWorldPoint, tempCNFGeometryPoint; //////////////////////Prepare coloring and radius//////////// std::vector< double > vectorOfNodeRadiusParameterValues; vectorOfNodeRadiusParameterValues.resize( vectorOfNodes.size() ); double maxNodeRadiusParameterValue( FillNodeParameterVector( &vectorOfNodeRadiusParameterValues, m_NodeRadiusParameter ) ); std::vector< double > vectorOfNodeColorParameterValues; vectorOfNodeColorParameterValues.resize( vectorOfNodes.size() ); double maxNodeColorParameterValue( FillNodeParameterVector( &vectorOfNodeColorParameterValues, m_NodeColorParameter ) ); std::vector< double > vectorOfEdgeRadiusParameterValues; vectorOfEdgeRadiusParameterValues.resize( vectorOfEdges.size() ); double maxEdgeRadiusParameterValue( FillEdgeParameterVector( &vectorOfEdgeRadiusParameterValues, m_EdgeRadiusParameter ) ); std::vector< double > vectorOfEdgeColorParameterValues; vectorOfEdgeColorParameterValues.resize( vectorOfEdges.size() ); double maxEdgeColorParameterValue( FillEdgeParameterVector( &vectorOfEdgeColorParameterValues, m_EdgeColorParameter ) ); //////////////////////Create Spheres///////////////////////// for(unsigned int i = 0; i < vectorOfNodes.size(); i++) { vtkSmartPointer sphereSource = vtkSmartPointer::New(); for(unsigned int dimension = 0; dimension < 3; dimension++) { tempCNFGeometryPoint.SetElement( dimension , vectorOfNodes[i].coordinates[dimension] ); } this->GetData()->GetGeometry()->IndexToWorld( tempCNFGeometryPoint, tempWorldPoint ); sphereSource->SetCenter( tempWorldPoint[0] , tempWorldPoint[1], tempWorldPoint[2] ); // determine radius double radiusFactor = vectorOfNodeRadiusParameterValues[i] / maxNodeRadiusParameterValue; double radius = m_NodeRadiusStart + ( m_NodeRadiusEnd - m_NodeRadiusStart) * radiusFactor; sphereSource->SetRadius( radius ); vtkSmartPointer mapper = vtkSmartPointer::New(); mapper->SetInput(sphereSource->GetOutput()); vtkSmartPointer actor = vtkSmartPointer::New(); actor->SetMapper(mapper); // determine color double colorFactor = vectorOfNodeColorParameterValues[i] / maxNodeColorParameterValue; double redStart = m_NodeColorStart.GetElement( 0 ); double greenStart = m_NodeColorStart.GetElement( 1 ); double blueStart = m_NodeColorStart.GetElement( 2 ); double redEnd = m_NodeColorEnd.GetElement( 0 ); double greenEnd = m_NodeColorEnd.GetElement( 1 ); double blueEnd = m_NodeColorEnd.GetElement( 2 ); double red = redStart + ( redEnd - redStart ) * colorFactor; double green = greenStart + ( greenEnd - greenStart ) * colorFactor; double blue = blueStart + ( blueEnd - blueStart ) * colorFactor; actor->GetProperty()->SetColor( red, green, blue); m_NetworkAssembly->AddPart(actor); } //////////////////////Create Tubes///////////////////////// double maxWeight = (double) this->GetInput()->GetMaximumWeight(); for(unsigned int i = 0; i < vectorOfEdges.size(); i++) { vtkSmartPointer lineSource = vtkSmartPointer::New(); for(unsigned int dimension = 0; dimension < 3; dimension++) { tempCNFGeometryPoint[ dimension ] = vectorOfEdges[i].first.first.coordinates[dimension]; } this->GetData()->GetGeometry()->IndexToWorld( tempCNFGeometryPoint, tempWorldPoint ); lineSource->SetPoint1(tempWorldPoint[0], tempWorldPoint[1],tempWorldPoint[2] ); for(unsigned int dimension = 0; dimension < 3; dimension++) { tempCNFGeometryPoint[ dimension ] = vectorOfEdges[i].first.second.coordinates[dimension]; } this->GetData()->GetGeometry()->IndexToWorld( tempCNFGeometryPoint, tempWorldPoint ); lineSource->SetPoint2(tempWorldPoint[0], tempWorldPoint[1], tempWorldPoint[2] ); vtkSmartPointer tubes = vtkSmartPointer::New(); tubes->SetInput( lineSource->GetOutput() ); tubes->SetNumberOfSides( 12 ); // determine radius double radiusFactor = vectorOfEdgeRadiusParameterValues[i] / maxEdgeRadiusParameterValue; double radius = m_EdgeRadiusStart + ( m_EdgeRadiusEnd - m_EdgeRadiusStart) * radiusFactor; tubes->SetRadius( radius ); // originally we used a logarithmic scaling, // double radiusFactor = 1.0 + ((double) vectorOfEdges[i].second.weight) / 10.0 ; // tubes->SetRadius( std::log10( radiusFactor ) ); vtkSmartPointer mapper2 = vtkSmartPointer::New(); mapper2->SetInput( tubes->GetOutput() ); vtkSmartPointer actor = vtkSmartPointer::New(); actor->SetMapper(mapper2); // determine color double colorFactor = vectorOfEdgeColorParameterValues[i] / maxEdgeColorParameterValue; double redStart = m_EdgeColorStart.GetElement( 0 ); double greenStart = m_EdgeColorStart.GetElement( 1 ); double blueStart = m_EdgeColorStart.GetElement( 2 ); double redEnd = m_EdgeColorEnd.GetElement( 0 ); double greenEnd = m_EdgeColorEnd.GetElement( 1 ); double blueEnd = m_EdgeColorEnd.GetElement( 2 ); double red = redStart + ( redEnd - redStart ) * colorFactor; double green = greenStart + ( greenEnd - greenStart ) * colorFactor; double blue = blueStart + ( blueEnd - blueStart ) * colorFactor; actor->GetProperty()->SetColor( red, green, blue); m_NetworkAssembly->AddPart(actor); } } else if( m_ChosenRenderingScheme == connectomicsRenderingVTKScheme ) { vtkSmartPointer graph = vtkSmartPointer::New(); std::vector< vtkIdType > networkToVTKvector; networkToVTKvector.resize(vectorOfNodes.size()); for(unsigned int i = 0; i < vectorOfNodes.size(); i++) { networkToVTKvector[vectorOfNodes[i].id] = graph->AddVertex(); } for(unsigned int i = 0; i < vectorOfEdges.size(); i++) { graph->AddEdge(networkToVTKvector[vectorOfEdges[i].first.first.id], networkToVTKvector[vectorOfEdges[i].first.second.id]); } vtkSmartPointer points = vtkSmartPointer::New(); for(unsigned int i = 0; i < vectorOfNodes.size(); i++) { double x = vectorOfNodes[i].coordinates[0]; double y = vectorOfNodes[i].coordinates[1]; double z = vectorOfNodes[i].coordinates[2]; points->InsertNextPoint( x, y, z); } graph->SetPoints(points); vtkGraphLayout* layout = vtkGraphLayout::New(); layout->SetInput(graph); layout->SetLayoutStrategy(vtkPassThroughLayoutStrategy::New()); vtkGraphToPolyData* graphToPoly = vtkGraphToPolyData::New(); graphToPoly->SetInputConnection(layout->GetOutputPort()); // Create the standard VTK polydata mapper and actor // for the connections (edges) in the tree. vtkPolyDataMapper* edgeMapper = vtkPolyDataMapper::New(); edgeMapper->SetInputConnection(graphToPoly->GetOutputPort()); vtkActor* edgeActor = vtkActor::New(); edgeActor->SetMapper(edgeMapper); edgeActor->GetProperty()->SetColor(0.0, 0.5, 1.0); // Glyph the points of the tree polydata to create // VTK_VERTEX cells at each vertex in the tree. vtkGlyph3D* vertGlyph = vtkGlyph3D::New(); vertGlyph->SetInputConnection(0, graphToPoly->GetOutputPort()); vtkGlyphSource2D* glyphSource = vtkGlyphSource2D::New(); glyphSource->SetGlyphTypeToVertex(); vertGlyph->SetInputConnection(1, glyphSource->GetOutputPort()); // Create a mapper for the vertices, and tell the mapper // to use the specified color array. vtkPolyDataMapper* vertMapper = vtkPolyDataMapper::New(); vertMapper->SetInputConnection(vertGlyph->GetOutputPort()); /*if (colorArray) { vertMapper->SetScalarModeToUsePointFieldData(); vertMapper->SelectColorArray(colorArray); vertMapper->SetScalarRange(colorRange); }*/ // Create an actor for the vertices. Move the actor forward // in the z direction so it is drawn on top of the edge actor. vtkActor* vertActor = vtkActor::New(); vertActor->SetMapper(vertMapper); vertActor->GetProperty()->SetPointSize(5); vertActor->SetPosition(0, 0, 0.001); m_NetworkAssembly->AddPart(edgeActor); m_NetworkAssembly->AddPart(vertActor); } (static_cast ( GetData() ) )->SetIsModified( false ); } const mitk::ConnectomicsNetwork* mitk::ConnectomicsNetworkMapper3D::GetInput() { return static_cast ( GetData() ); } void mitk::ConnectomicsNetworkMapper3D::SetDefaultProperties(DataNode* node, BaseRenderer* renderer , bool overwrite) { // Initialize enumeration properties mitk::ConnectomicsRenderingSchemeProperty::Pointer connectomicsRenderingScheme = mitk::ConnectomicsRenderingSchemeProperty::New(); mitk::ConnectomicsRenderingEdgeFilteringProperty::Pointer connectomicsRenderingEdgeFiltering = mitk::ConnectomicsRenderingEdgeFilteringProperty::New(); mitk::ConnectomicsRenderingNodeFilteringProperty::Pointer connectomicsRenderingNodeFiltering = mitk::ConnectomicsRenderingNodeFilteringProperty::New(); mitk::ConnectomicsRenderingNodeColoringSchemeProperty::Pointer connectomicsRenderingNodeColoringScheme = mitk::ConnectomicsRenderingNodeColoringSchemeProperty::New(); + mitk::ConnectomicsRenderingNodeColorParameterProperty::Pointer connectomicsRenderingNodeGradientColorParameter = + mitk::ConnectomicsRenderingNodeColorParameterProperty::New(); + mitk::ConnectomicsRenderingNodeRadiusParameterProperty::Pointer connectomicsRenderingNodeRadiusParameter = + mitk::ConnectomicsRenderingNodeRadiusParameterProperty::New(); + mitk::ConnectomicsRenderingEdgeColorParameterProperty::Pointer connectomicsRenderingEdgeGradientColorParameter = + mitk::ConnectomicsRenderingEdgeColorParameterProperty::New(); + mitk::ConnectomicsRenderingEdgeRadiusParameterProperty::Pointer connectomicsRenderingEdgeRadiusParameter = + mitk::ConnectomicsRenderingEdgeRadiusParameterProperty::New(); + // set the properties node->AddProperty( connectomicsRenderingSchemePropertyName.c_str(), connectomicsRenderingScheme, renderer, overwrite ); node->AddProperty( connectomicsRenderingEdgeFilteringPropertyName.c_str(), connectomicsRenderingEdgeFiltering, renderer, overwrite ); node->AddProperty( connectomicsRenderingEdgeThresholdFilterParameterName.c_str(), connectomicsRenderingEdgeThresholdFilterParameterDefault, renderer, overwrite ); node->AddProperty( connectomicsRenderingEdgeThresholdFilterThresholdName.c_str(), connectomicsRenderingEdgeThresholdFilterThresholdDefault, renderer, overwrite ); node->AddProperty( connectomicsRenderingNodeFilteringPropertyName.c_str(), connectomicsRenderingNodeFiltering, renderer, overwrite ); node->AddProperty( connectomicsRenderingNodeThresholdFilterParameterName.c_str(), connectomicsRenderingNodeThresholdFilterParameterDefault, renderer, overwrite ); node->AddProperty( connectomicsRenderingNodeThresholdFilterThresholdName.c_str(), connectomicsRenderingNodeThresholdFilterThresholdDefault, renderer, overwrite ); node->AddProperty( connectomicsRenderingNodeColoringSchemeName.c_str(), connectomicsRenderingNodeColoringScheme, renderer, overwrite ); node->AddProperty( connectomicsRenderingNodeGradientStartColorName.c_str(), connectomicsRenderingNodeGradientStartColorDefault, renderer, overwrite ); node->AddProperty( connectomicsRenderingNodeGradientEndColorName.c_str(), connectomicsRenderingNodeGradientEndColorDefault, renderer, overwrite ); node->AddProperty( connectomicsRenderingNodeGradientColorParameterName.c_str(), - connectomicsRenderingNodeGradientColorParameterDefault, renderer, overwrite ); + connectomicsRenderingNodeGradientColorParameter, renderer, overwrite ); node->AddProperty( connectomicsRenderingNodeRadiusStartName.c_str(), connectomicsRenderingNodeRadiusStartDefault, renderer, overwrite ); node->AddProperty( connectomicsRenderingNodeRadiusEndName.c_str(), connectomicsRenderingNodeRadiusEndDefault, renderer, overwrite ); node->AddProperty( connectomicsRenderingNodeRadiusParameterName.c_str(), - connectomicsRenderingNodeRadiusParameterDefault, renderer, overwrite ); + connectomicsRenderingNodeRadiusParameter, renderer, overwrite ); node->AddProperty( connectomicsRenderingNodeChosenNodeName.c_str(), connectomicsRenderingNodeChosenNodeDefault, renderer, overwrite ); node->AddProperty( connectomicsRenderingEdgeGradientStartColorName.c_str(), connectomicsRenderingEdgeGradientStartColorDefault, renderer, overwrite ); node->AddProperty( connectomicsRenderingEdgeGradientEndColorName.c_str(), connectomicsRenderingEdgeGradientEndColorDefault, renderer, overwrite ); node->AddProperty( connectomicsRenderingEdgeGradientColorParameterName.c_str(), - connectomicsRenderingEdgeGradientColorParameterDefault, renderer, overwrite ); + connectomicsRenderingEdgeGradientColorParameter, renderer, overwrite ); node->AddProperty( connectomicsRenderingEdgeRadiusStartName.c_str(), connectomicsRenderingEdgeRadiusStartDefault, renderer, overwrite ); node->AddProperty( connectomicsRenderingEdgeRadiusEndName.c_str(), connectomicsRenderingEdgeRadiusEndDefault, renderer, overwrite ); node->AddProperty( connectomicsRenderingEdgeRadiusParameterName.c_str(), - connectomicsRenderingEdgeRadiusParameterDefault, renderer, overwrite ); + connectomicsRenderingEdgeRadiusParameter, renderer, overwrite ); Superclass::SetDefaultProperties(node, renderer, overwrite); } void mitk::ConnectomicsNetworkMapper3D::ApplyProperties(mitk::BaseRenderer* renderer) { //TODO: implement } void mitk::ConnectomicsNetworkMapper3D::SetVtkMapperImmediateModeRendering(vtkMapper *mapper) { //TODO: implement } void mitk::ConnectomicsNetworkMapper3D::UpdateVtkObjects() { //TODO: implement } vtkProp* mitk::ConnectomicsNetworkMapper3D::GetVtkProp(mitk::BaseRenderer *renderer) { return m_NetworkAssembly; } bool mitk::ConnectomicsNetworkMapper3D::PropertiesChanged() { mitk::ConnectomicsRenderingSchemeProperty * renderingScheme = static_cast< mitk::ConnectomicsRenderingSchemeProperty * > ( this->GetDataNode()->GetProperty( connectomicsRenderingSchemePropertyName.c_str() ) ); mitk::ConnectomicsRenderingEdgeFilteringProperty * edgeFilter = static_cast< mitk::ConnectomicsRenderingEdgeFilteringProperty * > ( this->GetDataNode()->GetProperty( connectomicsRenderingEdgeFilteringPropertyName.c_str() ) ); mitk::FloatProperty * edgeThreshold = static_cast< mitk::FloatProperty * > ( this->GetDataNode()->GetProperty( connectomicsRenderingEdgeThresholdFilterThresholdName.c_str() ) ); mitk::ConnectomicsRenderingNodeFilteringProperty * nodeFilter = static_cast< mitk::ConnectomicsRenderingNodeFilteringProperty * > ( this->GetDataNode()->GetProperty( connectomicsRenderingNodeFilteringPropertyName.c_str() ) ); mitk::FloatProperty * nodeThreshold = static_cast< mitk::FloatProperty * > ( this->GetDataNode()->GetProperty( connectomicsRenderingNodeThresholdFilterThresholdName.c_str() ) ); mitk::ConnectomicsRenderingNodeColoringSchemeProperty * nodeColoringScheme = static_cast< mitk::ConnectomicsRenderingNodeColoringSchemeProperty * > ( this->GetDataNode()->GetProperty( connectomicsRenderingNodeColoringSchemeName.c_str() ) ); mitk::ColorProperty * nodeColorStart = static_cast< mitk::ColorProperty * > ( this->GetDataNode()->GetProperty( connectomicsRenderingNodeGradientStartColorName.c_str() ) ); mitk::ColorProperty * nodeColorEnd = static_cast< mitk::ColorProperty * > ( this->GetDataNode()->GetProperty( connectomicsRenderingNodeGradientEndColorName.c_str() ) ); mitk::FloatProperty * nodeRadiusStart = static_cast< mitk::FloatProperty * > ( this->GetDataNode()->GetProperty( connectomicsRenderingNodeRadiusStartName.c_str() ) ); mitk::FloatProperty * nodeRadiusEnd = static_cast< mitk::FloatProperty * > ( this->GetDataNode()->GetProperty( connectomicsRenderingNodeRadiusEndName.c_str() ) ); mitk::StringProperty * chosenNode = static_cast< mitk::StringProperty * > ( this->GetDataNode()->GetProperty( connectomicsRenderingNodeChosenNodeName.c_str() ) ); mitk::ColorProperty * edgeColorStart = static_cast< mitk::ColorProperty * > ( this->GetDataNode()->GetProperty( connectomicsRenderingEdgeGradientStartColorName.c_str() ) ); mitk::ColorProperty * edgeColorEnd = static_cast< mitk::ColorProperty * > ( this->GetDataNode()->GetProperty( connectomicsRenderingEdgeGradientEndColorName.c_str() ) ); mitk::FloatProperty * edgeRadiusStart = static_cast< mitk::FloatProperty * > ( this->GetDataNode()->GetProperty( connectomicsRenderingEdgeRadiusStartName.c_str() ) ); mitk::FloatProperty * edgeRadiusEnd = static_cast< mitk::FloatProperty * > ( this->GetDataNode()->GetProperty( connectomicsRenderingEdgeRadiusEndName.c_str() ) ); + mitk::ConnectomicsRenderingNodeColorParameterProperty * nodeColorParameter = + static_cast< mitk::ConnectomicsRenderingNodeColorParameterProperty * > ( + this->GetDataNode()->GetProperty( connectomicsRenderingNodeGradientColorParameterName.c_str() ) ); + mitk::ConnectomicsRenderingNodeRadiusParameterProperty * nodeRadiusParameter = + static_cast< mitk::ConnectomicsRenderingNodeRadiusParameterProperty * > ( + this->GetDataNode()->GetProperty( connectomicsRenderingNodeRadiusParameterName.c_str() ) ); + mitk::ConnectomicsRenderingEdgeColorParameterProperty * edgeColorParameter = + static_cast< mitk::ConnectomicsRenderingEdgeColorParameterProperty * > ( + this->GetDataNode()->GetProperty( connectomicsRenderingEdgeGradientColorParameterName.c_str() ) ); + mitk::ConnectomicsRenderingEdgeRadiusParameterProperty * edgeRadiusParameter = + static_cast< mitk::ConnectomicsRenderingEdgeRadiusParameterProperty * > ( + this->GetDataNode()->GetProperty( connectomicsRenderingEdgeRadiusParameterName.c_str() ) ); if( m_ChosenRenderingScheme != renderingScheme->GetValueAsString() || m_ChosenEdgeFilter != edgeFilter->GetValueAsString() || m_EdgeThreshold != edgeThreshold->GetValue() || m_ChosenNodeFilter != nodeFilter->GetValueAsString() || m_NodeThreshold != nodeThreshold->GetValue() || m_ChosenNodeColoringScheme != nodeColoringScheme->GetValueAsString() || m_NodeColorStart != nodeColorStart->GetValue() || m_NodeColorEnd != nodeColorEnd->GetValue() || m_NodeRadiusStart != nodeRadiusStart->GetValue() || m_NodeRadiusEnd != nodeRadiusEnd->GetValue() || m_ChosenNodeLabel != chosenNode->GetValueAsString() || m_EdgeColorStart != edgeColorStart->GetValue() || m_EdgeColorEnd != edgeColorEnd->GetValue() || m_EdgeRadiusStart != edgeRadiusStart->GetValue() || - m_EdgeRadiusEnd != edgeRadiusEnd->GetValue() + m_EdgeRadiusEnd != edgeRadiusEnd->GetValue() || + m_NodeColorParameter != nodeColorParameter->GetValueAsString() || + m_NodeRadiusParameter != nodeRadiusParameter->GetValueAsString() || + m_EdgeColorParameter != edgeColorParameter->GetValueAsString() || + m_EdgeRadiusParameter != edgeRadiusParameter->GetValueAsString() ) { m_ChosenRenderingScheme = renderingScheme->GetValueAsString(); m_ChosenEdgeFilter = edgeFilter->GetValueAsString(); m_EdgeThreshold = edgeThreshold->GetValue(); m_ChosenNodeFilter = nodeFilter->GetValueAsString(); m_NodeThreshold = nodeThreshold->GetValue(); m_ChosenNodeColoringScheme = nodeColoringScheme->GetValueAsString(); m_NodeColorStart = nodeColorStart->GetValue(); m_NodeColorEnd = nodeColorEnd->GetValue(); m_NodeRadiusStart = nodeRadiusStart->GetValue(); m_NodeRadiusEnd = nodeRadiusEnd->GetValue(); m_ChosenNodeLabel = chosenNode->GetValueAsString(); m_EdgeColorStart = edgeColorStart->GetValue(); m_EdgeColorEnd = edgeColorEnd->GetValue(); m_EdgeRadiusStart = edgeRadiusStart->GetValue(); m_EdgeRadiusEnd = edgeRadiusEnd->GetValue(); + m_NodeColorParameter = nodeColorParameter->GetValueAsString(); + m_NodeRadiusParameter = nodeRadiusParameter->GetValueAsString(); + m_EdgeColorParameter = edgeColorParameter->GetValueAsString(); + m_EdgeRadiusParameter = edgeRadiusParameter->GetValueAsString(); return true; } return false; } double mitk::ConnectomicsNetworkMapper3D::FillNodeParameterVector( std::vector< double > * parameterVector, std::string parameterName ) { return 1.0; } double mitk::ConnectomicsNetworkMapper3D::FillEdgeParameterVector( std::vector< double > * parameterVector, std::string parameterName ) { return 1.0; } diff --git a/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingEdgeColorParameterProperty.cpp b/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingEdgeColorParameterProperty.cpp new file mode 100644 index 0000000000..80e98bdddd --- /dev/null +++ b/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingEdgeColorParameterProperty.cpp @@ -0,0 +1,66 @@ +/*=================================================================== + +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 "mitkConnectomicsRenderingEdgeColorParameterProperty.h" +#include "mitkConnectomicsRenderingProperties.h" + +#define EDGE_COLOR_CONSTANT 0 + +mitk::ConnectomicsRenderingEdgeColorParameterProperty::ConnectomicsRenderingEdgeColorParameterProperty( ) +{ + AddRenderingEdgeColorParameters(); + SetValue( EDGE_COLOR_CONSTANT ); +} + + +mitk::ConnectomicsRenderingEdgeColorParameterProperty::ConnectomicsRenderingEdgeColorParameterProperty( const IdType& value ) +{ + AddRenderingEdgeColorParameters(); + if ( IsValidEnumerationValue( value ) ) + { + SetValue( value ) ; + } + else + { + SetValue( EDGE_COLOR_CONSTANT ); + } +} + +mitk::ConnectomicsRenderingEdgeColorParameterProperty::ConnectomicsRenderingEdgeColorParameterProperty( const std::string& value ) +{ + AddRenderingEdgeColorParameters(); + if ( IsValidEnumerationValue( value ) ) + { + SetValue( value ); + } + else + { + SetValue( EDGE_COLOR_CONSTANT ); + } +} + + + +void mitk::ConnectomicsRenderingEdgeColorParameterProperty::AddRenderingEdgeColorParameters() +{ + AddEnum( connectomicsRenderingEdgeParameterConstant , EDGE_COLOR_CONSTANT ); +} + + +bool mitk::ConnectomicsRenderingEdgeColorParameterProperty::AddEnum( const std::string& name, const IdType& id ) +{ + return Superclass::AddEnum( name, id ); +} diff --git a/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingEdgeColorParameterProperty.h b/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingEdgeColorParameterProperty.h new file mode 100644 index 0000000000..46faf6c0f8 --- /dev/null +++ b/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingEdgeColorParameterProperty.h @@ -0,0 +1,94 @@ +/*=================================================================== + +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 _MITK_CONNECTOMICS_RENDERING_EDGE_COLOR_PARAMETER_PROPERTY__H_ +#define _MITK_CONNECTOMICS_RENDERING_EDGE_COLOR_PARAMETER_PROPERTY__H_ + +#include "mitkEnumerationProperty.h" +#include "MitkDiffusionImagingExports.h" + +namespace mitk +{ + +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable: 4522) +#endif + +/** + * Encapsulates the enumeration of different rendering schemes for connectomics networks + */ +class MitkDiffusionImaging_EXPORT ConnectomicsRenderingEdgeColorParameterProperty : public EnumerationProperty +{ +public: + + mitkClassMacro( ConnectomicsRenderingEdgeColorParameterProperty, EnumerationProperty ); + + itkNewMacro(ConnectomicsRenderingEdgeColorParameterProperty); + + mitkNewMacro1Param(ConnectomicsRenderingEdgeColorParameterProperty, const IdType&); + + mitkNewMacro1Param(ConnectomicsRenderingEdgeColorParameterProperty, const std::string&); + + using BaseProperty::operator=; + +protected: + + /** + * Constructor. Sets the representation to a default value of 0 + */ + ConnectomicsRenderingEdgeColorParameterProperty( ); + + /** + * Constructor. Sets the parameter to the given value. If it is not + * valid, the value is set to 0 + * @param value the integer representation of the parameter + */ + ConnectomicsRenderingEdgeColorParameterProperty( const IdType& value ); + + /** + * Constructor. Sets the parameter to the given value. If it is not + * valid, the value is set to 0 + * @param value the string representation of the parameter + */ + ConnectomicsRenderingEdgeColorParameterProperty( const std::string& value ); + + /** + * this function is overridden as protected, so that the user may not add + * additional enumerations. + */ + virtual bool AddEnum( const std::string& name, const IdType& id ); + + /** + * Adds the enumeration types as defined by vtk to the list of known + * enumeration values. + */ + virtual void AddRenderingEdgeColorParameters(); + +private: + + // purposely not implemented + ConnectomicsRenderingEdgeColorParameterProperty(const ConnectomicsRenderingEdgeColorParameterProperty&); + ConnectomicsRenderingEdgeColorParameterProperty& operator=(const ConnectomicsRenderingEdgeColorParameterProperty&); +}; + +#ifdef _MSC_VER +# pragma warning(pop) +#endif + +} // end of namespace mitk + +#endif diff --git a/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingEdgeRadiusParameterProperty.cpp b/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingEdgeRadiusParameterProperty.cpp new file mode 100644 index 0000000000..1b0b8f273b --- /dev/null +++ b/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingEdgeRadiusParameterProperty.cpp @@ -0,0 +1,66 @@ +/*=================================================================== + +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 "mitkConnectomicsRenderingEdgeRadiusParameterProperty.h" +#include "mitkConnectomicsRenderingProperties.h" + +#define EDGE_RADIUS_CONSTANT 0 + +mitk::ConnectomicsRenderingEdgeRadiusParameterProperty::ConnectomicsRenderingEdgeRadiusParameterProperty( ) +{ + AddRenderingEdgeRadiusParameters(); + SetValue( EDGE_RADIUS_CONSTANT ); +} + + +mitk::ConnectomicsRenderingEdgeRadiusParameterProperty::ConnectomicsRenderingEdgeRadiusParameterProperty( const IdType& value ) +{ + AddRenderingEdgeRadiusParameters(); + if ( IsValidEnumerationValue( value ) ) + { + SetValue( value ) ; + } + else + { + SetValue( EDGE_RADIUS_CONSTANT ); + } +} + +mitk::ConnectomicsRenderingEdgeRadiusParameterProperty::ConnectomicsRenderingEdgeRadiusParameterProperty( const std::string& value ) +{ + AddRenderingEdgeRadiusParameters(); + if ( IsValidEnumerationValue( value ) ) + { + SetValue( value ); + } + else + { + SetValue( EDGE_RADIUS_CONSTANT ); + } +} + + + +void mitk::ConnectomicsRenderingEdgeRadiusParameterProperty::AddRenderingEdgeRadiusParameters() +{ + AddEnum( connectomicsRenderingEdgeParameterConstant , EDGE_RADIUS_CONSTANT ); +} + + +bool mitk::ConnectomicsRenderingEdgeRadiusParameterProperty::AddEnum( const std::string& name, const IdType& id ) +{ + return Superclass::AddEnum( name, id ); +} diff --git a/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingEdgeRadiusParameterProperty.h b/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingEdgeRadiusParameterProperty.h new file mode 100644 index 0000000000..0c24abcd20 --- /dev/null +++ b/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingEdgeRadiusParameterProperty.h @@ -0,0 +1,94 @@ +/*=================================================================== + +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 _MITK_CONNECTOMICS_RENDERING_EDGE_RADIUS_PARAMETER_PROPERTY__H_ +#define _MITK_CONNECTOMICS_RENDERING_EDGE_RADIUS_PARAMETER_PROPERTY__H_ + +#include "mitkEnumerationProperty.h" +#include "MitkDiffusionImagingExports.h" + +namespace mitk +{ + +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable: 4522) +#endif + +/** + * Encapsulates the enumeration of different rendering schemes for connectomics networks + */ +class MitkDiffusionImaging_EXPORT ConnectomicsRenderingEdgeRadiusParameterProperty : public EnumerationProperty +{ +public: + + mitkClassMacro( ConnectomicsRenderingEdgeRadiusParameterProperty, EnumerationProperty ); + + itkNewMacro(ConnectomicsRenderingEdgeRadiusParameterProperty); + + mitkNewMacro1Param(ConnectomicsRenderingEdgeRadiusParameterProperty, const IdType&); + + mitkNewMacro1Param(ConnectomicsRenderingEdgeRadiusParameterProperty, const std::string&); + + using BaseProperty::operator=; + +protected: + + /** + * Constructor. Sets the representation to a default value of 0 + */ + ConnectomicsRenderingEdgeRadiusParameterProperty( ); + + /** + * Constructor. Sets the parameter to the given value. If it is not + * valid, the value is set to 0 + * @param value the integer representation of the parameter + */ + ConnectomicsRenderingEdgeRadiusParameterProperty( const IdType& value ); + + /** + * Constructor. Sets the parameter to the given value. If it is not + * valid, the value is set to 0 + * @param value the string representation of the parameter + */ + ConnectomicsRenderingEdgeRadiusParameterProperty( const std::string& value ); + + /** + * this function is overridden as protected, so that the user may not add + * additional enumerations. + */ + virtual bool AddEnum( const std::string& name, const IdType& id ); + + /** + * Adds the enumeration types as defined by vtk to the list of known + * enumeration values. + */ + virtual void AddRenderingEdgeRadiusParameters(); + +private: + + // purposely not implemented + ConnectomicsRenderingEdgeRadiusParameterProperty(const ConnectomicsRenderingEdgeRadiusParameterProperty&); + ConnectomicsRenderingEdgeRadiusParameterProperty& operator=(const ConnectomicsRenderingEdgeRadiusParameterProperty&); +}; + +#ifdef _MSC_VER +# pragma warning(pop) +#endif + +} // end of namespace mitk + +#endif diff --git a/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingNodeColorParameterProperty.cpp b/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingNodeColorParameterProperty.cpp new file mode 100644 index 0000000000..5b54936fa9 --- /dev/null +++ b/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingNodeColorParameterProperty.cpp @@ -0,0 +1,66 @@ +/*=================================================================== + +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 "mitkConnectomicsRenderingNodeColorParameterProperty.h" +#include "mitkConnectomicsRenderingProperties.h" + +#define NODE_COLOR_CONSTANT 0 + +mitk::ConnectomicsRenderingNodeColorParameterProperty::ConnectomicsRenderingNodeColorParameterProperty( ) +{ + AddRenderingNodeColorParameters(); + SetValue( NODE_COLOR_CONSTANT ); +} + + +mitk::ConnectomicsRenderingNodeColorParameterProperty::ConnectomicsRenderingNodeColorParameterProperty( const IdType& value ) +{ + AddRenderingNodeColorParameters(); + if ( IsValidEnumerationValue( value ) ) + { + SetValue( value ) ; + } + else + { + SetValue( NODE_COLOR_CONSTANT ); + } +} + +mitk::ConnectomicsRenderingNodeColorParameterProperty::ConnectomicsRenderingNodeColorParameterProperty( const std::string& value ) +{ + AddRenderingNodeColorParameters(); + if ( IsValidEnumerationValue( value ) ) + { + SetValue( value ); + } + else + { + SetValue( NODE_COLOR_CONSTANT ); + } +} + + + +void mitk::ConnectomicsRenderingNodeColorParameterProperty::AddRenderingNodeColorParameters() +{ + AddEnum( connectomicsRenderingNodeParameterConstant , NODE_COLOR_CONSTANT ); +} + + +bool mitk::ConnectomicsRenderingNodeColorParameterProperty::AddEnum( const std::string& name, const IdType& id ) +{ + return Superclass::AddEnum( name, id ); +} diff --git a/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingNodeColorParameterProperty.h b/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingNodeColorParameterProperty.h new file mode 100644 index 0000000000..8fb31f7eb8 --- /dev/null +++ b/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingNodeColorParameterProperty.h @@ -0,0 +1,94 @@ +/*=================================================================== + +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 _MITK_CONNECTOMICS_RENDERING_NODE_COLOR_PARAMETER_PROPERTY__H_ +#define _MITK_CONNECTOMICS_RENDERING_NODE_COLOR_PARAMETER_PROPERTY__H_ + +#include "mitkEnumerationProperty.h" +#include "MitkDiffusionImagingExports.h" + +namespace mitk +{ + +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable: 4522) +#endif + +/** + * Encapsulates the enumeration of different rendering schemes for connectomics networks + */ +class MitkDiffusionImaging_EXPORT ConnectomicsRenderingNodeColorParameterProperty : public EnumerationProperty +{ +public: + + mitkClassMacro( ConnectomicsRenderingNodeColorParameterProperty, EnumerationProperty ); + + itkNewMacro(ConnectomicsRenderingNodeColorParameterProperty); + + mitkNewMacro1Param(ConnectomicsRenderingNodeColorParameterProperty, const IdType&); + + mitkNewMacro1Param(ConnectomicsRenderingNodeColorParameterProperty, const std::string&); + + using BaseProperty::operator=; + +protected: + + /** + * Constructor. Sets the representation to a default value of 0 + */ + ConnectomicsRenderingNodeColorParameterProperty( ); + + /** + * Constructor. Sets the parameter to the given value. If it is not + * valid, the value is set to 0 + * @param value the integer representation of the parameter + */ + ConnectomicsRenderingNodeColorParameterProperty( const IdType& value ); + + /** + * Constructor. Sets the parameter to the given value. If it is not + * valid, the value is set to 0 + * @param value the string representation of the parameter + */ + ConnectomicsRenderingNodeColorParameterProperty( const std::string& value ); + + /** + * this function is overridden as protected, so that the user may not add + * additional enumerations. + */ + virtual bool AddEnum( const std::string& name, const IdType& id ); + + /** + * Adds the enumeration types as defined by vtk to the list of known + * enumeration values. + */ + virtual void AddRenderingNodeColorParameters(); + +private: + + // purposely not implemented + ConnectomicsRenderingNodeColorParameterProperty(const ConnectomicsRenderingNodeColorParameterProperty&); + ConnectomicsRenderingNodeColorParameterProperty& operator=(const ConnectomicsRenderingNodeColorParameterProperty&); +}; + +#ifdef _MSC_VER +# pragma warning(pop) +#endif + +} // end of namespace mitk + +#endif diff --git a/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingNodeRadiusParameterProperty.cpp b/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingNodeRadiusParameterProperty.cpp new file mode 100644 index 0000000000..ad52d275c2 --- /dev/null +++ b/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingNodeRadiusParameterProperty.cpp @@ -0,0 +1,66 @@ +/*=================================================================== + +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 "mitkConnectomicsRenderingNodeRadiusParameterProperty.h" +#include "mitkConnectomicsRenderingProperties.h" + +#define NODE_RADIUS_CONSTANT 0 + +mitk::ConnectomicsRenderingNodeRadiusParameterProperty::ConnectomicsRenderingNodeRadiusParameterProperty( ) +{ + AddRenderingNodeRadiusParameters(); + SetValue( NODE_RADIUS_CONSTANT ); +} + + +mitk::ConnectomicsRenderingNodeRadiusParameterProperty::ConnectomicsRenderingNodeRadiusParameterProperty( const IdType& value ) +{ + AddRenderingNodeRadiusParameters(); + if ( IsValidEnumerationValue( value ) ) + { + SetValue( value ) ; + } + else + { + SetValue( NODE_RADIUS_CONSTANT ); + } +} + +mitk::ConnectomicsRenderingNodeRadiusParameterProperty::ConnectomicsRenderingNodeRadiusParameterProperty( const std::string& value ) +{ + AddRenderingNodeRadiusParameters(); + if ( IsValidEnumerationValue( value ) ) + { + SetValue( value ); + } + else + { + SetValue( NODE_RADIUS_CONSTANT ); + } +} + + + +void mitk::ConnectomicsRenderingNodeRadiusParameterProperty::AddRenderingNodeRadiusParameters() +{ + AddEnum( connectomicsRenderingNodeParameterConstant, NODE_RADIUS_CONSTANT ); +} + + +bool mitk::ConnectomicsRenderingNodeRadiusParameterProperty::AddEnum( const std::string& name, const IdType& id ) +{ + return Superclass::AddEnum( name, id ); +} diff --git a/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingNodeRadiusParameterProperty.h b/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingNodeRadiusParameterProperty.h new file mode 100644 index 0000000000..820c2abd7d --- /dev/null +++ b/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingNodeRadiusParameterProperty.h @@ -0,0 +1,94 @@ +/*=================================================================== + +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 _MITK_CONNECTOMICS_RENDERING_NODE_RADIUS_PARAMETER_PROPERTY__H_ +#define _MITK_CONNECTOMICS_RENDERING_NODE_RADIUS_PARAMETER_PROPERTY__H_ + +#include "mitkEnumerationProperty.h" +#include "MitkDiffusionImagingExports.h" + +namespace mitk +{ + +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable: 4522) +#endif + +/** + * Encapsulates the enumeration of different rendering schemes for connectomics networks + */ +class MitkDiffusionImaging_EXPORT ConnectomicsRenderingNodeRadiusParameterProperty : public EnumerationProperty +{ +public: + + mitkClassMacro( ConnectomicsRenderingNodeRadiusParameterProperty, EnumerationProperty ); + + itkNewMacro(ConnectomicsRenderingNodeRadiusParameterProperty); + + mitkNewMacro1Param(ConnectomicsRenderingNodeRadiusParameterProperty, const IdType&); + + mitkNewMacro1Param(ConnectomicsRenderingNodeRadiusParameterProperty, const std::string&); + + using BaseProperty::operator=; + +protected: + + /** + * Constructor. Sets the representation to a default value of 0 + */ + ConnectomicsRenderingNodeRadiusParameterProperty( ); + + /** + * Constructor. Sets the parameter to the given value. If it is not + * valid, the value is set to 0 + * @param value the integer representation of the parameter + */ + ConnectomicsRenderingNodeRadiusParameterProperty( const IdType& value ); + + /** + * Constructor. Sets the parameter to the given value. If it is not + * valid, the value is set to 0 + * @param value the string representation of the parameter + */ + ConnectomicsRenderingNodeRadiusParameterProperty( const std::string& value ); + + /** + * this function is overridden as protected, so that the user may not add + * additional enumerations. + */ + virtual bool AddEnum( const std::string& name, const IdType& id ); + + /** + * Adds the enumeration types as defined by vtk to the list of known + * enumeration values. + */ + virtual void AddRenderingNodeRadiusParameters(); + +private: + + // purposely not implemented + ConnectomicsRenderingNodeRadiusParameterProperty(const ConnectomicsRenderingNodeRadiusParameterProperty&); + ConnectomicsRenderingNodeRadiusParameterProperty& operator=(const ConnectomicsRenderingNodeRadiusParameterProperty&); +}; + +#ifdef _MSC_VER +# pragma warning(pop) +#endif + +} // end of namespace mitk + +#endif diff --git a/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingProperties.h b/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingProperties.h index 1569e31d16..d8f68929ee 100644 --- a/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingProperties.h +++ b/Modules/DiffusionImaging/Rendering/mitkConnectomicsRenderingProperties.h @@ -1,313 +1,319 @@ /*=================================================================== 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 ConnectomicsRenderingProperties_H_HEADER_INCLUDED #define ConnectomicsRenderingProperties_H_HEADER_INCLUDED #include #include "mitkproperties.h" #include "mitkStringProperty.h" #include "mitkEnumerationProperty.h" #include "mitkColorProperty.h" namespace mitk { /** \file mitkConnectomicsRenderingProperties.h * \brief This file defines the rendering properties available for connectomics newtorks in MITK. * * This file collects and explains the properties which can be used to modify the visualisation * of connectomics networks. */ // Switching between rendering modes /** * \brief Define the rendering scheme to be used. * * Currently there are two possible rendering schemes in MITK. *
    *
  1. The VTK Graph Layout *
  2. The MITK Connectomics Visualisation - Default *
* * The VTK Graph Layout is faster than the MITK Connectomics Visualisation, but provides less features * and settings. */ const std::string connectomicsRenderingSchemePropertyName = "Connectomics.Rendering.Scheme"; /** * \brief Much faster but less features. */ const std::string connectomicsRenderingVTKScheme = "VTK Graph Layout"; /** * \brief Slower but with several visualisation options. */ const std::string connectomicsRenderingMITKScheme = "MITK Connectomics Visualisation"; // All options below are only for the MITK Connectomics Visualisation scheme //////////////////////////////////////// // Filtering Options //////////////////////////////////////// /** \brief Edge filter option * * This option controls the filtering of edges for visualization purposes. Edges filtered out will not be shown, but still included in calculations. * * Currently there these options: *
    *
  1. No Edge Filtering - Default *
  2. Shortest Path to Node *
  3. Thresholding *
* */ const std::string connectomicsRenderingEdgeFilteringPropertyName = "Connectomics.Rendering.Edges.Filtering"; /** * \brief Do not filter edges */ const std::string connectomicsRenderingEdgeNoFilter = "No Edge Filtering"; /** * \brief Only show edges which are part of a shortest path to the selected node from any other node */ const std::string connectomicsRenderingEdgeShortestPathFilter = "Shortest Path to Node"; /** * \brief Show only edges above a certain parameter threshold */ const std::string connectomicsRenderingEdgeThresholdFilter = "Thresholding"; /** * \brief Parameter to be thresholded */ const std::string connectomicsRenderingEdgeThresholdFilterParameterName = "Connectomics.Rendering.Edges.Filtering.ThresholdParameter"; /** * \brief Threshold */ const std::string connectomicsRenderingEdgeThresholdFilterThresholdName = "Connectomics.Rendering.Edges.Filtering.Threshold"; /** \brief Node filter option * * This option controls the filtering of nodes for visualization purposes. Nodes filtered out will not be shown, but still included in calculations. * * Currently there these options: *
    *
  1. No Node Filtering - Default *
  2. Thresholding *
* */ const std::string connectomicsRenderingNodeFilteringPropertyName = "Connectomics.Rendering.Nodes.Filtering"; /** * \brief Do not filter nodes */ const std::string connectomicsRenderingNodeNoFilter = "No Node Filtering"; /** * \brief Only show nodes above a certain parameter threshold */ const std::string connectomicsRenderingNodeThresholdingFilter = "Thresholding"; /** * \brief Parameter to be thresholded */ const std::string connectomicsRenderingNodeThresholdFilterParameterName = "Connectomics.Rendering.Nodes.Filtering.ThresholdParameter"; /** * \brief Threshold */ const std::string connectomicsRenderingNodeThresholdFilterThresholdName = "Connectomics.Rendering.Nodes.Filtering.Threshold"; // Default values const mitk::StringProperty::Pointer connectomicsRenderingEdgeThresholdFilterParameterDefault = mitk::StringProperty::New( "" ); const mitk::FloatProperty::Pointer connectomicsRenderingEdgeThresholdFilterThresholdDefault = mitk::FloatProperty::New( 1.0 ); const mitk::StringProperty::Pointer connectomicsRenderingNodeThresholdFilterParameterDefault = mitk::StringProperty::New( "" ); const mitk::FloatProperty::Pointer connectomicsRenderingNodeThresholdFilterThresholdDefault = mitk::FloatProperty::New( 1.0 ); //////////////////////////////////////// // Node Options //////////////////////////////////////// /** \brief Node coloring option * * This option controls the coloring of nodes. * * Currently there these options: *
    *
  1. Color Gradient - Default *
  2. Shortest Path Steps *
* */ const std::string connectomicsRenderingNodeColoringSchemeName = "Connectomics.Rendering.Nodes.ColorScheme"; /** * \brief Color node using a color gradient */ const std::string connectomicsRenderingNodeColoringGradientScheme = "Color Gradient"; /** * \brief Color nodes by shortest path length to a chosen node */ const std::string connectomicsRenderingNodeColoringShortestPathScheme = "Shortest Path Steps"; /** * \brief The chosen node label * * This node will be used for any visualisation requiring a specific node */ const std::string connectomicsRenderingNodeChosenNodeName = "Connectomics.Rendering.Nodes.ChosenNode"; // Color gradient /** * \brief Start Color * * The start color that will be used for gradient creation */ const std::string connectomicsRenderingNodeGradientStartColorName = "Connectomics.Rendering.Nodes.Gradient.StartColor"; /** * \brief End Color * * The end color that will be used for gradient creation */ const std::string connectomicsRenderingNodeGradientEndColorName = "Connectomics.Rendering.Nodes.Gradient.EndColor"; /** * \brief Color parameter * * This parameter will be used to select the color of the node. */ const std::string connectomicsRenderingNodeGradientColorParameterName = "Connectomics.Rendering.Nodes.Gradient.Parameter"; // Radius /** * \brief Start Radius * * The start radius that will be used */ const std::string connectomicsRenderingNodeRadiusStartName = "Connectomics.Rendering.Nodes.Radius.Start"; /** * \brief End Radius * * The end radius that will be used */ const std::string connectomicsRenderingNodeRadiusEndName = "Connectomics.Rendering.Nodes.Radius.End"; /** * \brief Radius parameter * * This parameter will be used to select the radius of the node. */ const std::string connectomicsRenderingNodeRadiusParameterName = "Connectomics.Rendering.Nodes.Radius.Parameter"; + /** + * \brief Constant + * + * The node property will be constant. + */ + const std::string connectomicsRenderingNodeParameterConstant = "Constant"; + // Default values const mitk::StringProperty::Pointer connectomicsRenderingNodeChosenNodeDefault = mitk::StringProperty::New(""); const mitk::ColorProperty::Pointer connectomicsRenderingNodeGradientStartColorDefault = mitk::ColorProperty::New(0.0f, 0.0f, 1.0f); const mitk::ColorProperty::Pointer connectomicsRenderingNodeGradientEndColorDefault = mitk::ColorProperty::New(0.0f, 1.0f, 0.0f); - const mitk::StringProperty::Pointer connectomicsRenderingNodeGradientColorParameterDefault = - mitk::StringProperty::New(""); const mitk::FloatProperty::Pointer connectomicsRenderingNodeRadiusStartDefault = mitk::FloatProperty::New( 1.0 ); const mitk::FloatProperty::Pointer connectomicsRenderingNodeRadiusEndDefault = mitk::FloatProperty::New( 1.0 ); - const mitk::StringProperty::Pointer connectomicsRenderingNodeRadiusParameterDefault = - mitk::StringProperty::New(""); //////////////////////////////////////// // Edge Options //////////////////////////////////////// // Color gradient /** * \brief Start Color * * The start color that will be used for gradient creation */ const std::string connectomicsRenderingEdgeGradientStartColorName = "Connectomics.Rendering.Edges.Gradient.StartColor"; /** * \brief End Color * * The end color that will be used for gradient creation */ const std::string connectomicsRenderingEdgeGradientEndColorName = "Connectomics.Rendering.Edges.Gradient.EndColor"; /** * \brief Color parameter * * This parameter will be used to select the color of the edge. */ const std::string connectomicsRenderingEdgeGradientColorParameterName = "Connectomics.Rendering.Edges.Gradient.Parameter"; // Radius /** * \brief Start Radius * * The start radius that will be used */ const std::string connectomicsRenderingEdgeRadiusStartName = "Connectomics.Rendering.Edges.Radius.Start"; /** * \brief End Radius * * The end radius that will be used */ const std::string connectomicsRenderingEdgeRadiusEndName = "Connectomics.Rendering.Edges.Radius.End"; /** * \brief Radius parameter * * This parameter will be used to select the radius of the edge. */ const std::string connectomicsRenderingEdgeRadiusParameterName = "Connectomics.Rendering.Edges.Radius.Parameter"; + /** + * \brief Constant + * + * The edge property will be constant. + */ + const std::string connectomicsRenderingEdgeParameterConstant = "Constant"; + // Default values const mitk::ColorProperty::Pointer connectomicsRenderingEdgeGradientStartColorDefault = mitk::ColorProperty::New(0.8f, 0.0f, 0.6f); const mitk::ColorProperty::Pointer connectomicsRenderingEdgeGradientEndColorDefault = mitk::ColorProperty::New(0.0f, 0.8f, 0.2f); - const mitk::StringProperty::Pointer connectomicsRenderingEdgeGradientColorParameterDefault = - mitk::StringProperty::New(""); const mitk::FloatProperty::Pointer connectomicsRenderingEdgeRadiusStartDefault = mitk::FloatProperty::New( 0.1 ); const mitk::FloatProperty::Pointer connectomicsRenderingEdgeRadiusEndDefault = mitk::FloatProperty::New( 0.4 ); - const mitk::StringProperty::Pointer connectomicsRenderingEdgeRadiusParameterDefault = - mitk::StringProperty::New(""); } // namespace mitk #endif /* ConnectomicsRenderingProperties_H_HEADER_INCLUDED */ diff --git a/Modules/DiffusionImaging/files.cmake b/Modules/DiffusionImaging/files.cmake index b72f1ad22c..4b41088184 100644 --- a/Modules/DiffusionImaging/files.cmake +++ b/Modules/DiffusionImaging/files.cmake @@ -1,267 +1,279 @@ set(CPP_FILES # DicomImport DicomImport/mitkDicomDiffusionImageReader.cpp DicomImport/mitkGroupDiffusionHeadersFilter.cpp DicomImport/mitkDicomDiffusionImageHeaderReader.cpp DicomImport/mitkGEDicomDiffusionImageHeaderReader.cpp DicomImport/mitkPhilipsDicomDiffusionImageHeaderReader.cpp DicomImport/mitkSiemensDicomDiffusionImageHeaderReader.cpp DicomImport/mitkSiemensMosaicDicomDiffusionImageHeaderReader.cpp # DataStructures IODataStructures/mitkDiffusionImagingObjectFactory.cpp # DataStructures -> DWI IODataStructures/DiffusionWeightedImages/mitkDiffusionImageHeaderInformation.cpp IODataStructures/DiffusionWeightedImages/mitkDiffusionImageSource.cpp IODataStructures/DiffusionWeightedImages/mitkNrrdDiffusionImageReader.cpp IODataStructures/DiffusionWeightedImages/mitkNrrdDiffusionImageWriter.cpp IODataStructures/DiffusionWeightedImages/mitkNrrdDiffusionImageIOFactory.cpp IODataStructures/DiffusionWeightedImages/mitkNrrdDiffusionImageWriterFactory.cpp IODataStructures/DiffusionWeightedImages/mitkDiffusionImageSerializer.cpp # DataStructures -> QBall IODataStructures/QBallImages/mitkQBallImageSource.cpp IODataStructures/QBallImages/mitkNrrdQBallImageReader.cpp IODataStructures/QBallImages/mitkNrrdQBallImageWriter.cpp IODataStructures/QBallImages/mitkNrrdQBallImageIOFactory.cpp IODataStructures/QBallImages/mitkNrrdQBallImageWriterFactory.cpp IODataStructures/QBallImages/mitkQBallImage.cpp IODataStructures/QBallImages/mitkQBallImageSerializer.cpp # DataStructures -> Tensor IODataStructures/TensorImages/mitkTensorImageSource.cpp IODataStructures/TensorImages/mitkNrrdTensorImageReader.cpp IODataStructures/TensorImages/mitkNrrdTensorImageWriter.cpp IODataStructures/TensorImages/mitkNrrdTensorImageIOFactory.cpp IODataStructures/TensorImages/mitkNrrdTensorImageWriterFactory.cpp IODataStructures/TensorImages/mitkTensorImage.cpp IODataStructures/TensorImages/mitkTensorImageSerializer.cpp # DataStructures -> FiberBundleX IODataStructures/FiberBundleX/mitkFiberBundleX.cpp IODataStructures/FiberBundleX/mitkFiberBundleXWriter.cpp IODataStructures/FiberBundleX/mitkFiberBundleXReader.cpp IODataStructures/FiberBundleX/mitkFiberBundleXIOFactory.cpp IODataStructures/FiberBundleX/mitkFiberBundleXWriterFactory.cpp IODataStructures/FiberBundleX/mitkFiberBundleXSerializer.cpp IODataStructures/FiberBundleX/mitkFiberBundleXThreadMonitor.cpp # DataStructures -> PlanarFigureComposite IODataStructures/PlanarFigureComposite/mitkPlanarFigureComposite.cpp # DataStructures -> Tbss IODataStructures/TbssImages/mitkTbssImageSource.cpp IODataStructures/TbssImages/mitkTbssRoiImageSource.cpp IODataStructures/TbssImages/mitkNrrdTbssImageReader.cpp IODataStructures/TbssImages/mitkNrrdTbssImageIOFactory.cpp IODataStructures/TbssImages/mitkNrrdTbssRoiImageReader.cpp IODataStructures/TbssImages/mitkNrrdTbssRoiImageIOFactory.cpp IODataStructures/TbssImages/mitkTbssImage.cpp IODataStructures/TbssImages/mitkTbssRoiImage.cpp IODataStructures/TbssImages/mitkNrrdTbssImageWriter.cpp IODataStructures/TbssImages/mitkNrrdTbssImageWriterFactory.cpp IODataStructures/TbssImages/mitkNrrdTbssRoiImageWriter.cpp IODataStructures/TbssImages/mitkNrrdTbssRoiImageWriterFactory.cpp IODataStructures/TbssImages/mitkTbssImporter.cpp # DataStructures Connectomics IODataStructures/ConnectomicsNetwork/mitkConnectomicsNetwork.cpp IODataStructures/ConnectomicsNetwork/mitkConnectomicsNetworkReader.cpp IODataStructures/ConnectomicsNetwork/mitkConnectomicsNetworkIOFactory.cpp IODataStructures/ConnectomicsNetwork/mitkConnectomicsNetworkSerializer.cpp IODataStructures/ConnectomicsNetwork/mitkConnectomicsNetworkWriter.cpp IODataStructures/ConnectomicsNetwork/mitkConnectomicsNetworkWriterFactory.cpp IODataStructures/ConnectomicsNetwork/mitkConnectomicsNetworkDefinitions.cpp IODataStructures/ConnectomicsNetwork/mitkConnectomicsConstantsManager.cpp # Rendering Rendering/vtkMaskedProgrammableGlyphFilter.cpp Rendering/mitkCompositeMapper.cpp Rendering/mitkVectorImageVtkGlyphMapper3D.cpp Rendering/vtkOdfSource.cxx Rendering/vtkThickPlane.cxx Rendering/mitkOdfNormalizationMethodProperty.cpp Rendering/mitkOdfScaleByProperty.cpp Rendering/mitkFiberBundleXMapper2D.cpp Rendering/mitkFiberBundleXMapper3D.cpp Rendering/mitkFiberBundleXThreadMonitorMapper3D.cpp Rendering/mitkTbssImageMapper.cpp Rendering/mitkPlanarFigureMapper3D.cpp + + # Rendering Connectomics Rendering/mitkConnectomicsNetworkMapper3D.cpp Rendering/mitkConnectomicsRenderingSchemeProperty.cpp Rendering/mitkConnectomicsRenderingEdgeFilteringProperty.cpp Rendering/mitkConnectomicsRenderingNodeFilteringProperty.cpp Rendering/mitkConnectomicsRenderingNodeColoringSchemeProperty.cpp + Rendering/mitkConnectomicsRenderingEdgeColorParameterProperty.cpp + Rendering/mitkConnectomicsRenderingEdgeRadiusParameterProperty.cpp + Rendering/mitkConnectomicsRenderingNodeColorParameterProperty.cpp + Rendering/mitkConnectomicsRenderingNodeRadiusParameterProperty.cpp # Interactions Interactions/mitkFiberBundleInteractor.cpp # Algorithms Algorithms/mitkPartialVolumeAnalysisHistogramCalculator.cpp Algorithms/mitkPartialVolumeAnalysisClusteringCalculator.cpp Algorithms/mitkTractAnalyzer.cpp # Algorithms Connectomics Algorithms/Connectomics/mitkConnectomicsNetworkCreator.cpp Algorithms/Connectomics/mitkConnectomicsHistogramBase.cpp Algorithms/Connectomics/mitkConnectomicsDegreeHistogram.cpp Algorithms/Connectomics/mitkConnectomicsShortestPathHistogram.cpp Algorithms/Connectomics/mitkConnectomicsBetweennessHistogram.cpp Algorithms/Connectomics/mitkConnectomicsHistogramCache.cpp Algorithms/Connectomics/mitkConnectomicsSyntheticNetworkGenerator.cpp Algorithms/Connectomics/mitkConnectomicsSimulatedAnnealingPermutationBase.cpp Algorithms/Connectomics/mitkConnectomicsSimulatedAnnealingPermutationModularity.cpp Algorithms/Connectomics/mitkConnectomicsSimulatedAnnealingManager.cpp Algorithms/Connectomics/mitkConnectomicsSimulatedAnnealingCostFunctionBase.cpp Algorithms/Connectomics/mitkConnectomicsSimulatedAnnealingCostFunctionModularity.cpp Algorithms/Connectomics/itkConnectomicsNetworkToConnectivityMatrixImageFilter.cpp # Tractography Tractography/GibbsTracking/mitkParticleGrid.cpp Tractography/GibbsTracking/mitkMetropolisHastingsSampler.cpp Tractography/GibbsTracking/mitkEnergyComputer.cpp Tractography/GibbsTracking/mitkGibbsEnergyComputer.cpp Tractography/GibbsTracking/mitkFiberBuilder.cpp # Function Collection mitkDiffusionFunctionCollection.cpp ) set(H_FILES # function Collection mitkDiffusionFunctionCollection.h # Rendering Rendering/mitkDiffusionImageMapper.h Rendering/mitkTbssImageMapper.h Rendering/mitkOdfVtkMapper2D.h Rendering/mitkFiberBundleXMapper3D.h Rendering/mitkFiberBundleXMapper2D.h Rendering/mitkFiberBundleXThreadMonitorMapper3D.h + Rendering/mitkPlanarFigureMapper3D.h + + # Rendering Connectomics Rendering/mitkConnectomicsNetworkMapper3D.h Rendering/mitkConnectomicsRenderingProperties.h Rendering/mitkConnectomicsRenderingSchemeProperty.h Rendering/mitkConnectomicsRenderingEdgeFilteringProperty.h Rendering/mitkConnectomicsRenderingNodeFilteringProperty.h Rendering/mitkConnectomicsRenderingNodeColoringSchemeProperty.h - Rendering/mitkPlanarFigureMapper3D.h + Rendering/mitkConnectomicsRenderingEdgeColorParameterProperty.h + Rendering/mitkConnectomicsRenderingEdgeRadiusParameterProperty.h + Rendering/mitkConnectomicsRenderingNodeColorParameterProperty.h + Rendering/mitkConnectomicsRenderingNodeRadiusParameterProperty.h # Reconstruction Reconstruction/itkDiffusionQballReconstructionImageFilter.h Reconstruction/mitkTeemDiffusionTensor3DReconstructionImageFilter.h Reconstruction/itkAnalyticalDiffusionQballReconstructionImageFilter.h Reconstruction/itkDiffusionMultiShellQballReconstructionImageFilter.h Reconstruction/itkPointShell.h Reconstruction/itkOrientationDistributionFunction.h Reconstruction/itkDiffusionIntravoxelIncoherentMotionReconstructionImageFilter.h Reconstruction/itkRegularizedIVIMLocalVariationImageFilter.h Reconstruction/itkRegularizedIVIMReconstructionFilter.h Reconstruction/itkRegularizedIVIMReconstructionSingleIteration.h # IO Datastructures IODataStructures/DiffusionWeightedImages/mitkDiffusionImage.h IODataStructures/TbssImages/mitkTbssImporter.h # DataStructures -> FiberBundleX IODataStructures/FiberBundleX/mitkFiberBundleX.h IODataStructures/FiberBundleX/mitkFiberBundleXWriter.h IODataStructures/FiberBundleX/mitkFiberBundleXReader.h IODataStructures/FiberBundleX/mitkFiberBundleXIOFactory.h IODataStructures/FiberBundleX/mitkFiberBundleXWriterFactory.h IODataStructures/FiberBundleX/mitkFiberBundleXSerializer.h IODataStructures/FiberBundleX/mitkFiberBundleXThreadMonitor.h # Datastructures Connectomics IODataStructures/ConnectomicsNetwork/mitkConnectomicsNetwork.h IODataStructures/ConnectomicsNetwork/mitkConnectomicsNetworkReader.h IODataStructures/ConnectomicsNetwork/mitkConnectomicsNetworkIOFactory.h IODataStructures/ConnectomicsNetwork/mitkConnectomicsNetworkSerializer.h IODataStructures/ConnectomicsNetwork/mitkConnectomicsNetworkWriter.h IODataStructures/ConnectomicsNetwork/mitkConnectomicsNetworkWriterFactory.h IODataStructures/ConnectomicsNetwork/mitkConnectomicsNetworkDefinitions.h IODataStructures/ConnectomicsNetwork/mitkConnectomicsConstantsManager.h # Tractography Tractography/itkGibbsTrackingFilter.h Tractography/itkStochasticTractographyFilter.h Tractography/itkStreamlineTrackingFilter.h Tractography/GibbsTracking/mitkParticle.h Tractography/GibbsTracking/mitkParticleGrid.h Tractography/GibbsTracking/mitkMetropolisHastingsSampler.h Tractography/GibbsTracking/mitkSimpSamp.h Tractography/GibbsTracking/mitkEnergyComputer.h Tractography/GibbsTracking/mitkGibbsEnergyComputer.h Tractography/GibbsTracking/mitkSphereInterpolator.h Tractography/GibbsTracking/mitkFiberBuilder.h # Algorithms Algorithms/itkDiffusionQballGeneralizedFaImageFilter.h Algorithms/itkDiffusionQballPrepareVisualizationImageFilter.h Algorithms/itkTensorDerivedMeasurementsFilter.h Algorithms/itkBrainMaskExtractionImageFilter.h Algorithms/itkB0ImageExtractionImageFilter.h Algorithms/itkB0ImageExtractionToSeparateImageFilter.h Algorithms/itkTensorImageToDiffusionImageFilter.h Algorithms/itkTensorToL2NormImageFilter.h Algorithms/itkTractDensityImageFilter.h Algorithms/itkTractsToFiberEndingsImageFilter.h Algorithms/itkTractsToRgbaImageFilter.h Algorithms/itkGaussianInterpolateImageFunction.h Algorithms/mitkPartialVolumeAnalysisHistogramCalculator.h Algorithms/mitkPartialVolumeAnalysisClusteringCalculator.h Algorithms/itkDiffusionTensorPrincipalDirectionImageFilter.h Algorithms/itkCartesianToPolarVectorImageFilter.h Algorithms/itkPolarToCartesianVectorImageFilter.h Algorithms/itkDistanceMapFilter.h Algorithms/itkProjectionFilter.h Algorithms/itkSkeletonizationFilter.h Algorithms/itkResidualImageFilter.h Algorithms/itkExtractChannelFromRgbaImageFilter.h Algorithms/itkTensorReconstructionWithEigenvalueCorrectionFilter.h Algorithms/itkElectrostaticRepulsionDiffusionGradientReductionFilter.h Algorithms/itkMergeDiffusionImagesFilter.h Algorithms/itkDwiPhantomGenerationFilter.h Algorithms/itkFiniteDiffOdfMaximaExtractionFilter.h Algorithms/itkMrtrixPeakImageConverter.h Algorithms/itkFslPeakImageConverter.h Algorithms/itkFslShCoefficientImageConverter.h Algorithms/itkOdfMaximaExtractionFilter.h Algorithms/itkFibersFromPlanarFiguresFilter.h Algorithms/itkTractsToDWIImageFilter.h Algorithms/itkTractsToVectorImageFilter.h # Algorithms Connectomics Algorithms/Connectomics/mitkConnectomicsNetworkCreator.h Algorithms/Connectomics/mitkConnectomicsHistogramBase.h Algorithms/Connectomics/mitkConnectomicsDegreeHistogram.h Algorithms/Connectomics/mitkConnectomicsShortestPathHistogram.h Algorithms/Connectomics/mitkConnectomicsBetweennessHistogram.h Algorithms/Connectomics/mitkConnectomicsHistogramCache.h Algorithms/Connectomics/mitkConnectomicsSyntheticNetworkGenerator.h Algorithms/Connectomics/mitkConnectomicsSimulatedAnnealingPermutationBase.h Algorithms/Connectomics/mitkConnectomicsSimulatedAnnealingPermutationModularity.h Algorithms/Connectomics/mitkConnectomicsSimulatedAnnealingManager.h Algorithms/Connectomics/mitkConnectomicsSimulatedAnnealingCostFunctionBase.h Algorithms/Connectomics/mitkConnectomicsSimulatedAnnealingCostFunctionModularity.h Algorithms/Connectomics/itkConnectomicsNetworkToConnectivityMatrixImageFilter.h SignalModels/mitkDiffusionSignalModel.h SignalModels/mitkTensorModel.h SignalModels/mitkBallModel.h SignalModels/mitkStickModel.h SignalModels/mitkDiffusionNoiseModel.h SignalModels/mitkRicianNoiseModel.h SignalModels/mitkKspaceArtifact.h SignalModels/mitkGibbsRingingArtifact.h SignalModels/mitkT2SmearingArtifact.h ) set( TOOL_FILES ) if(WIN32) endif(WIN32) #MITK_MULTIPLEX_PICTYPE( Algorithms/mitkImageRegistrationMethod-TYPE.cpp )