void QmitkMITKIGTTrackingToolboxView::OnAddSingleToolCanceled()
  {
  m_Controls->m_TrackingToolsWidget->setCurrentIndex(0);

  //enable tracking volume again
  if (lastTrackingVolumeState) m_Controls->m_ShowTrackingVolume->click();
  GlobalReinit();
  }
示例#2
0
void UltrasoundSupport::OnClickedViewDevice()
{
  m_FrameCounter = 0;

  // We use the activity state of the timer to determine whether we are currently viewing images
  if ( ! m_Timer->isActive() ) // Activate Imaging
  {
    //get device & set data node
    m_Device = m_Controls.m_ActiveVideoDevices->GetSelectedService<mitk::USDevice>();
    if (m_Device.IsNull()){
      m_Timer->stop();
      return;
    }
    m_Device->Update();
    m_Node->SetData(m_Device->GetOutput());

    //start timer
    int interval = (1000 / m_Controls.m_FrameRate->value());
    m_Timer->setInterval(interval);
    m_Timer->start();

    //reinit view
    GlobalReinit();

    //change UI elements
    m_Controls.m_BtnView->setText("Stop Viewing");
    m_Controls.m_FrameRate->setEnabled(false);
    m_Controls.crop_left->setValue(m_Device->GetCropArea().cropLeft);
    m_Controls.crop_right->setValue(m_Device->GetCropArea().cropRight);
    m_Controls.crop_bot->setValue(m_Device->GetCropArea().cropBottom);
    m_Controls.crop_top->setValue(m_Device->GetCropArea().cropTop);
    m_Controls.crop_left->setEnabled(true);
    m_Controls.crop_right->setEnabled(true);
    m_Controls.crop_bot->setEnabled(true);
    m_Controls.crop_top->setEnabled(true);
  }
  else //deactivate imaging
  {
    //stop timer & release data
    m_Timer->stop();
    m_Node->ReleaseData();
    this->RequestRenderWindowUpdate();

    //change UI elements
    m_Controls.m_BtnView->setText("Start Viewing");
    m_Controls.m_FrameRate->setEnabled(true);
    m_Controls.crop_left->setEnabled(false);
    m_Controls.crop_right->setEnabled(false);
    m_Controls.crop_bot->setEnabled(false);
    m_Controls.crop_top->setEnabled(false);
  }
}
void QmitkMITKIGTTrackingToolboxView::OnShowTrackingVolumeChanged()
{
  if (m_Controls->m_ShowTrackingVolume->isChecked())
    {
    OnTrackingVolumeChanged(m_Controls->m_VolumeSelectionBox->currentText());
    GetDataStorage()->Add(m_TrackingVolumeNode);
    }
  else
    {
    GetDataStorage()->Remove(m_TrackingVolumeNode);
    GlobalReinit();
    }
}
void QmitkMITKIGTTrackingToolboxView::OnAddSingleTool()
  {
  QString Identifier = "Tool#";
  if (m_toolStorage.IsNotNull()) Identifier += QString::number(m_toolStorage->GetToolCount());
  else Identifier += "0";
  m_Controls->m_NavigationToolCreationWidget->Initialize(GetDataStorage(),Identifier.toStdString());
  m_Controls->m_NavigationToolCreationWidget->SetTrackingDeviceType(m_Controls->m_configurationWidget->GetTrackingDevice()->GetType(),false);
  m_Controls->m_TrackingToolsWidget->setCurrentIndex(1);

  //disable tracking volume during tool editing
  lastTrackingVolumeState = m_Controls->m_ShowTrackingVolume->isChecked();
  if (lastTrackingVolumeState) m_Controls->m_ShowTrackingVolume->click();
  GlobalReinit();

  }
void QmitkMITKIGTTrackingToolboxView::OnAddSingleToolFinished()
  {
  m_Controls->m_TrackingToolsWidget->setCurrentIndex(0);
  if (this->m_toolStorage.IsNull())
    {
    //this shouldn't happen!
    MITK_WARN << "No ToolStorage available, cannot add tool, aborting!";
    return;
    }
  m_toolStorage->AddTool(m_Controls->m_NavigationToolCreationWidget->GetCreatedTool());
  m_Controls->m_TrackingToolsStatusWidget->PreShowTools(m_toolStorage);
  QString toolLabel = QString("Loaded Tools: <manually added>");

  //enable tracking volume again
  if (lastTrackingVolumeState) m_Controls->m_ShowTrackingVolume->click();
  GlobalReinit();
  }
void QmitkMITKIGTTrackingToolboxView::OnTrackingVolumeChanged(QString qstr)
{
  if (qstr.isNull()) return;
  if (qstr.isEmpty()) return;
  if (m_Controls->m_ShowTrackingVolume->isChecked())
  {
    mitk::TrackingVolumeGenerator::Pointer volumeGenerator = mitk::TrackingVolumeGenerator::New();

    std::string str = qstr.toStdString();

    mitk::TrackingDeviceData data = mitk::GetDeviceDataByName(str);
    m_TrackingDeviceData = data;

    volumeGenerator->SetTrackingDeviceData(data);
    volumeGenerator->Update();

    mitk::Surface::Pointer volumeSurface = volumeGenerator->GetOutput();

    m_TrackingVolumeNode->SetData(volumeSurface);

    GlobalReinit();
  }
}
示例#7
0
void UltrasoundSupport::OnCropAreaChanged()
{
if (m_Device->GetDeviceClass()=="org.mitk.modules.us.USVideoDevice")
      {
      mitk::USVideoDevice::Pointer currentVideoDevice = dynamic_cast<mitk::USVideoDevice*>(m_Device.GetPointer());

      mitk::USDevice::USImageCropArea newArea;
      newArea.cropLeft = m_Controls.crop_left->value();
      newArea.cropTop = m_Controls.crop_top->value();
      newArea.cropRight = m_Controls.crop_right->value();
      newArea.cropBottom = m_Controls.crop_bot->value();

      //check enabled: if not we are in the initializing step and don't need to do anything
      //otherwise: update crop area
      if (m_Controls.crop_right->isEnabled())
        currentVideoDevice->SetCropArea(newArea);

      GlobalReinit();
      }
else
      {
      MITK_WARN << "No USVideoDevice: Cannot Crop!";
      }
}