itk::Object::Pointer QmitkAffineTransformView::GetTransform() { if (m_FixedImage.IsNotNull()) { AccessByItk(m_FixedImage, GetTransform2); return m_TransformObject; } return NULL; }
itk::Object::Pointer QmitkCenteredEuler3DTransformView::GetTransform() { if (m_FixedImage.IsNotNull()) { AccessByItk(m_FixedImage, GetTransform2); return m_TransformObject; } return nullptr; }
itk::Object::Pointer QmitkMutualInformationMetricView::GetMetric() { if (m_MovingImage.IsNotNull()) { AccessByItk(m_MovingImage, GetMetric2); return m_MetricObject; } return NULL; }
itk::Object::Pointer QmitkGradientDifferenceMetricView::GetMetric() { if (m_MovingImage.IsNotNull()) { AccessByItk(m_MovingImage, GetMetric2); return m_MetricObject; } return nullptr; }
itk::Object::Pointer QmitkCorrelationCoefficientHistogramMetricView::GetMetric() { if (m_MovingImage.IsNotNull()) { AccessByItk(m_MovingImage, GetMetric2); return m_MetricObject; } return NULL; }
itk::Object::Pointer QmitkMatchCardinalityMetricView::GetMetric() { if (m_MovingImage.IsNotNull()) { AccessByItk(m_MovingImage, GetMetric2); return m_MetricObject; } return NULL; }
itk::Object::Pointer QmitkMeanReciprocalSquareDifferenceMetricView::GetMetric() { if (m_MovingImage.IsNotNull()) { AccessByItk(m_MovingImage, GetMetric2); return m_MetricObject; } return NULL; }
itk::Object::Pointer QmitkMeanSquaresHistogramMetricView::GetMetric() { if (m_MovingImage.IsNotNull()) { AccessByItk(m_MovingImage, GetMetric2); return m_MetricObject; } return NULL; }
itk::Object::Pointer QmitkKullbackLeiblerCompareHistogramMetricView::GetMetric() { if (m_MovingImage.IsNotNull()) { AccessByItk(m_MovingImage, GetMetric2); return m_MetricObject; } return NULL; }
itk::Object::Pointer QmitkScaleLogarithmicTransformView::GetTransform() { if (m_FixedImage.IsNotNull()) { AccessByItk(m_FixedImage, GetTransform2); return m_TransformObject; } return nullptr; }
void QmitkAdaptiveRegionGrowingToolGUI::ConfirmSegmentation() { //get image node if(m_InputImageNode.IsNull()) { QMessageBox::critical( NULL, "Adaptive region growing functionality", "Please specify the image in Datamanager!"); return; } //get image data mitk::Image::Pointer orgImage = dynamic_cast<mitk::Image*> (m_InputImageNode->GetData()); if(orgImage.IsNull()) { QMessageBox::critical( NULL, "Adaptive region growing functionality", "No Image found!"); return; } //get labeled segmentation mitk::Image::Pointer labeledSeg = (mitk::Image*)m_DataStorage->GetNamedObject<mitk::Image>(m_NAMEFORLABLEDSEGMENTATIONIMAGE); if(labeledSeg.IsNull()) { QMessageBox::critical( NULL, "Adaptive region growing functionality", "No Segmentation Preview found!"); return; } mitk::DataNode::Pointer newNode = m_DataStorage->GetNamedNode( m_NAMEFORLABLEDSEGMENTATIONIMAGE); if (newNode.IsNull()) return; QmitkConfirmSegmentationDialog dialog; QString segName = QString::fromStdString(m_RegionGrow3DTool->GetCurrentSegmentationName()); dialog.SetSegmentationName(segName); int result = dialog.exec(); switch(result) { case QmitkConfirmSegmentationDialog::CREATE_NEW_SEGMENTATION: m_RegionGrow3DTool->SetOverwriteExistingSegmentation(false); break; case QmitkConfirmSegmentationDialog::OVERWRITE_SEGMENTATION: m_RegionGrow3DTool->SetOverwriteExistingSegmentation(true); break; case QmitkConfirmSegmentationDialog::CANCEL_SEGMENTATION: return; } mitk::Image* img = dynamic_cast<mitk::Image*>(newNode->GetData()); AccessByItk(img, ITKThresholding); // disable volume rendering preview after the segmentation node was created this->EnableVolumeRendering(false); newNode->SetVisibility(false); m_Controls.m_cbVolumeRendering->setChecked(false); //TODO disable slider etc... }
void QmitkConnectomicsNetworkOperationsView::OnConvertToRGBAImagePushButtonClicked() { std::vector<mitk::DataNode*> nodes = this->GetDataManagerSelection(); if (nodes.empty()) return; mitk::DataNode* node = nodes.front(); if (!node) { // Nothing selected. Inform the user and return QMessageBox::information( NULL, mitk::ConnectomicsConstantsManager::CONNECTOMICS_GUI_CONNECTOMICS, mitk::ConnectomicsConstantsManager::CONNECTOMICS_GUI_ONLY_PARCELLATION_SELECTION_WARNING); return; } // here we have a valid mitk::DataNode // a node itself is not very useful, we need its data item (the image) mitk::BaseData* data = node->GetData(); if (data) { // test if this data item is an image or not (could also be a surface or something totally different) mitk::Image* image = dynamic_cast<mitk::Image*>( data ); if (image) { std::stringstream message; std::string name; message << mitk::ConnectomicsConstantsManager::CONNECTOMICS_GUI_PERFORMING_IMAGE_PROCESSING_FOR_IMAGE; if (node->GetName(name)) { // a property called "name" was found for this DataNode message << "'" << name << "'"; } message << "."; MITK_INFO << message.str(); // Convert to RGBA AccessByItk( image, TurnIntoRGBA ); this->GetDefaultDataStorage()->GetNamedNode( mitk::ConnectomicsConstantsManager::CONNECTOMICS_PROPERTY_DEFAULT_RGBA_NAME )->GetData()->SetGeometry( node->GetData()->GetGeometry() ); mitk::RenderingManager::GetInstance()->RequestUpdateAll(); } else { QMessageBox::information( NULL, mitk::ConnectomicsConstantsManager::CONNECTOMICS_GUI_CONNECTOMICS, mitk::ConnectomicsConstantsManager::CONNECTOMICS_GUI_ONLY_PARCELLATION_SELECTION_WARNING); return; } } else { QMessageBox::information( NULL, mitk::ConnectomicsConstantsManager::CONNECTOMICS_GUI_CONNECTOMICS, mitk::ConnectomicsConstantsManager::CONNECTOMICS_GUI_ONLY_PARCELLATION_SELECTION_WARNING); return; } }
void mitk::MaskImageFilter::GenerateData() { mitk::Image::ConstPointer input = this->GetInput(); mitk::Image::Pointer mask = m_Mask; mitk::Image::Pointer output = this->GetOutput(); if((output->IsInitialized()==false) || (mask.IsNull()) || (mask->GetTimeSlicedGeometry()->GetTimeSteps() == 0)) return; m_InputTimeSelector->SetInput(input); m_MaskTimeSelector->SetInput(mask); m_OutputTimeSelector->SetInput(this->GetOutput()); mitk::Image::RegionType outputRegion = output->GetRequestedRegion(); const mitk::TimeSlicedGeometry *outputTimeGeometry = output->GetTimeSlicedGeometry(); const mitk::TimeSlicedGeometry *inputTimeGeometry = input->GetTimeSlicedGeometry(); const mitk::TimeSlicedGeometry *maskTimeGeometry = mask->GetTimeSlicedGeometry(); ScalarType timeInMS; int timestep=0; int tstart=outputRegion.GetIndex(3); int tmax=tstart+outputRegion.GetSize(3); int t; for(t=tstart;t<tmax;++t) { timeInMS = outputTimeGeometry->TimeStepToMS( t ); timestep = inputTimeGeometry->MSToTimeStep( timeInMS ); m_InputTimeSelector->SetTimeNr(timestep); m_InputTimeSelector->UpdateLargestPossibleRegion(); m_OutputTimeSelector->SetTimeNr(t); m_OutputTimeSelector->UpdateLargestPossibleRegion(); timestep = maskTimeGeometry->MSToTimeStep( timeInMS ); m_MaskTimeSelector->SetTimeNr(timestep); m_MaskTimeSelector->UpdateLargestPossibleRegion(); AccessByItk(m_InputTimeSelector->GetOutput(),InternalComputeMask); } m_TimeOfHeaderInitialization.Modified(); }
void mitk::MRNormLinearStatisticBasedFilter::GenerateData() { AccessByItk(GetInput(0),InternalComputeMask); }
void mitk::SeedsImage::ExecuteOperation(mitk::Operation* operation) { //mitkCheckOperationTypeMacro(SeedsOperation, operation, seedsOp); m_Spacing = this->GetGeometry()->GetSpacing(); for(unsigned int i=0; i<this->GetDimension(); i++) orig_size[i] = this->GetDimension(i); mitk::DrawOperation * seedsOp = dynamic_cast< mitk::DrawOperation * >( operation ); if ( seedsOp != NULL ) { m_DrawState = seedsOp->GetDrawState(); if (m_Radius != seedsOp->GetRadius()) { m_Radius = seedsOp->GetRadius(); } switch (operation->GetOperationType()) { case mitk::OpADD: { m_Point = seedsOp->GetPoint(); m_LastPoint = m_Point; AccessByItk(this, AddSeedPoint); break; } case mitk::OpMOVE: { m_Point = seedsOp->GetPoint(); AccessByItk(this, AddSeedPoint); AccessByItk(this, PointInterpolation); m_LastPoint = m_Point; break; } case mitk::OpUNDOADD: { m_Point = seedsOp->GetPoint(); m_LastPoint = m_Point; m_DrawState = 0; // todo - operation is not equal with its inverse operation - possible // approximation problems in the function PointInterpolation() m_Radius = m_Radius+4; AccessByItk(this, AddSeedPoint); break; } case mitk::OpUNDOMOVE: { m_Point = seedsOp->GetPoint(); m_DrawState = 0; // todo - operation is not equal with its inverse operation - possible // approximation problems in the function PointInterpolation() m_Radius = m_Radius+4; AccessByItk(this, AddSeedPoint); AccessByItk(this, PointInterpolation); m_LastPoint = m_Point; break; } } //*todo has to be done here, cause of update-pipeline not working yet mitk::RenderingManager::GetInstance()->RequestUpdateAll(); //mitk::RenderingManager::GetInstance()->ForceImmediateUpdateAll(); this->Modified(); } }
void mitk::SeedsImage::ClearBuffer() { AccessByItk(this, ClearBuffer); }