+ // Try to guess default WindowLevel
+ double range[2];
+ mSlicerManagers.back()->GetImage()->GetFirstVTKImageData()->GetScalarRange(range);
+ // DD(range[0]);
+ // DD(range[1]);
+ if ((range[0] == 0) && (range[1] == 1)) {
+ presetComboBox->setCurrentIndex(5);// binary
+ }
+ else {
+ // TODO
+ }
msgBox.addButton(tr("Cancel"), QMessageBox::RejectRole);
if (msgBox.exec() == QMessageBox::AcceptRole)
{
msgBox.addButton(tr("Cancel"), QMessageBox::RejectRole);
if (msgBox.exec() == QMessageBox::AcceptRole)
{
//------------------------------------------------------------------------------
void vvMainWindow::AddOverlayImage(int index, QString file) {
//------------------------------------------------------------------------------
void vvMainWindow::AddOverlayImage(int index, QString file) {
mInputPathName = itksys::SystemTools::GetFilenamePath(file.toStdString()).c_str();
itk::ImageIOBase::Pointer reader = itk::ImageIOFactory::CreateImageIO(
file.toStdString().c_str(), itk::ImageIOFactory::ReadMode);
mInputPathName = itksys::SystemTools::GetFilenamePath(file.toStdString()).c_str();
itk::ImageIOBase::Pointer reader = itk::ImageIOFactory::CreateImageIO(
file.toStdString().c_str(), itk::ImageIOFactory::ReadMode);
QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
vvProgressDialog progress("Opening " + file.toStdString());
qApp->processEvents();
QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
vvProgressDialog progress("Opening " + file.toStdString());
qApp->processEvents();
std::string filename = itksys::SystemTools::GetFilenameWithoutExtension(file.toStdString()).c_str();
if (mSlicerManagers[index]->SetOverlay(file.toStdString(),dimension, component))
{
std::string filename = itksys::SystemTools::GetFilenameWithoutExtension(file.toStdString()).c_str();
if (mSlicerManagers[index]->SetOverlay(file.toStdString(),dimension, component))
{
{
item->setData(j,Qt::CheckStateRole,DataTree->topLevelItem(index)->data(j,Qt::CheckStateRole));
mSlicerManagers[index]->GetSlicer(j-1)->SetActorVisibility("overlay",0,
{
item->setData(j,Qt::CheckStateRole,DataTree->topLevelItem(index)->data(j,Qt::CheckStateRole));
mSlicerManagers[index]->GetSlicer(j-1)->SetActorVisibility("overlay",0,
void vvMainWindow::AddFieldEntry(QString filename,int index,bool from_disk)
{
//create an item in the tree with good settings
void vvMainWindow::AddFieldEntry(QString filename,int index,bool from_disk)
{
//create an item in the tree with good settings
void vvMainWindow::AddField(vvImage::Pointer vf,QString file,int index)
{
QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
void vvMainWindow::AddField(vvImage::Pointer vf,QString file,int index)
{
QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
//------------------------------------------------------------------------------
void vvMainWindow::SetVFProperty(int subsampling, int scale, int log) {
int index = GetSlicerIndexFromItem(DataTree->selectedItems()[0]);
//------------------------------------------------------------------------------
void vvMainWindow::SetVFProperty(int subsampling, int scale, int log) {
int index = GetSlicerIndexFromItem(DataTree->selectedItems()[0]);
//------------------------------------------------------------------------------
void vvMainWindow::SetOverlayProperty(int color) {
int index = GetSlicerIndexFromItem(DataTree->selectedItems()[0]);
//------------------------------------------------------------------------------
void vvMainWindow::SetOverlayProperty(int color) {
int index = GetSlicerIndexFromItem(DataTree->selectedItems()[0]);
//------------------------------------------------------------------------------
void vvMainWindow::NOHorizontalSliderMoved() {
//------------------------------------------------------------------------------
void vvMainWindow::NOHorizontalSliderMoved() {
//------------------------------------------------------------------------------
void vvMainWindow::NEHorizontalSliderMoved() {
//------------------------------------------------------------------------------
void vvMainWindow::NEHorizontalSliderMoved() {
//------------------------------------------------------------------------------
void vvMainWindow::SOHorizontalSliderMoved() {
//------------------------------------------------------------------------------
void vvMainWindow::SOHorizontalSliderMoved() {
//------------------------------------------------------------------------------
void vvMainWindow::SEHorizontalSliderMoved() {
//------------------------------------------------------------------------------
void vvMainWindow::SEHorizontalSliderMoved() {
if (DataTree->topLevelItem(i)->data(COLUMN_UL_VIEW,Qt::CheckStateRole).toInt() > 1)
{
mSlicerManagers[i]->GetSlicer(0)->SetSlice(value);
if (DataTree->topLevelItem(i)->data(COLUMN_UL_VIEW,Qt::CheckStateRole).toInt() > 1)
{
mSlicerManagers[i]->GetSlicer(0)->SetSlice(value);
- // mSlicerManagers[i]->UpdateSlice(0);
- // <-- DS add this. Not too much update ? YES.
+ mSlicerManagers[i]->VerticalSliderHasChanged(0, value);
+ // mSlicerManagers[i]->UpdateSlice(0); // <-- DS add this. Not too much update ? YES.
+ mSlicerManagers[i]->GetSlicer(0)->Render(); // <-- DS add this, needed for contour, seems ok ? not too slow ?
//------------------------------------------------------------------------------
void vvMainWindow::NEVerticalSliderChanged() {
int value = NEVerticalSlider->value();
//------------------------------------------------------------------------------
void vvMainWindow::NEVerticalSliderChanged() {
int value = NEVerticalSlider->value();
if (DataTree->topLevelItem(i)->data(COLUMN_UR_VIEW,Qt::CheckStateRole).toInt() > 1)
{
mSlicerManagers[i]->GetSlicer(1)->SetSlice(value);
if (DataTree->topLevelItem(i)->data(COLUMN_UR_VIEW,Qt::CheckStateRole).toInt() > 1)
{
mSlicerManagers[i]->GetSlicer(1)->SetSlice(value);
//------------------------------------------------------------------------------
void vvMainWindow::SOVerticalSliderChanged() {
int value = SOVerticalSlider->value();
//------------------------------------------------------------------------------
void vvMainWindow::SOVerticalSliderChanged() {
int value = SOVerticalSlider->value();
if (DataTree->topLevelItem(i)->data(COLUMN_DL_VIEW,Qt::CheckStateRole).toInt() > 1)
{
mSlicerManagers[i]->GetSlicer(2)->SetSlice(value);
if (DataTree->topLevelItem(i)->data(COLUMN_DL_VIEW,Qt::CheckStateRole).toInt() > 1)
{
mSlicerManagers[i]->GetSlicer(2)->SetSlice(value);
//------------------------------------------------------------------------------
void vvMainWindow::SEVerticalSliderChanged() {
int value = SEVerticalSlider->value();
//------------------------------------------------------------------------------
void vvMainWindow::SEVerticalSliderChanged() {
int value = SEVerticalSlider->value();
if (DataTree->topLevelItem(i)->data(COLUMN_DR_VIEW,Qt::CheckStateRole).toInt() > 1)
{
mSlicerManagers[i]->GetSlicer(3)->SetSlice(value);
if (DataTree->topLevelItem(i)->data(COLUMN_DR_VIEW,Qt::CheckStateRole).toInt() > 1)
{
mSlicerManagers[i]->GetSlicer(3)->SetSlice(value);
//------------------------------------------------------------------------------
void vvMainWindow::UpdateSlice(int slicer, int slice) {
if (slicer == 0) {
//------------------------------------------------------------------------------
void vvMainWindow::UpdateSlice(int slicer, int slice) {
if (slicer == 0) {
//------------------------------------------------------------------------------
void vvMainWindow::UpdateTSlice(int slicer, int slice) {
switch (slicer)
//------------------------------------------------------------------------------
void vvMainWindow::UpdateTSlice(int slicer, int slice) {
switch (slicer)
//------------------------------------------------------------------------------
void vvMainWindow::UpdateSliceRange(int slicer, int min, int max, int tmin, int tmax) {
int position = int((min+max)/2);
//------------------------------------------------------------------------------
void vvMainWindow::UpdateSliceRange(int slicer, int min, int max, int tmin, int tmax) {
int position = int((min+max)/2);
//------------------------------------------------------------------------------
void vvMainWindow::SaveNOScreenshot() {
vtkWindowToImageFilter *w2i = vtkWindowToImageFilter::New();
//------------------------------------------------------------------------------
void vvMainWindow::SaveNOScreenshot() {
vtkWindowToImageFilter *w2i = vtkWindowToImageFilter::New();
//------------------------------------------------------------------------------
void vvMainWindow::SaveNEScreenshot() {
vtkWindowToImageFilter *w2i = vtkWindowToImageFilter::New();
//------------------------------------------------------------------------------
void vvMainWindow::SaveNEScreenshot() {
vtkWindowToImageFilter *w2i = vtkWindowToImageFilter::New();
//------------------------------------------------------------------------------
void vvMainWindow::SaveSOScreenshot() {
vtkWindowToImageFilter *w2i = vtkWindowToImageFilter::New();
//------------------------------------------------------------------------------
void vvMainWindow::SaveSOScreenshot() {
vtkWindowToImageFilter *w2i = vtkWindowToImageFilter::New();
//------------------------------------------------------------------------------
void vvMainWindow::SaveSEScreenshot() {
vtkWindowToImageFilter *w2i = vtkWindowToImageFilter::New();
//------------------------------------------------------------------------------
void vvMainWindow::SaveSEScreenshot() {
vtkWindowToImageFilter *w2i = vtkWindowToImageFilter::New();
//------------------------------------------------------------------------------
void vvMainWindow::SaveScreenshot(vtkImageData* image) {
QString Extensions = "Images( *.png);;";
//------------------------------------------------------------------------------
void vvMainWindow::SaveScreenshot(vtkImageData* image) {
QString Extensions = "Images( *.png);;";
//------------------------------------------------------------------------------
void vvMainWindow::GoToCursor() {
int index = GetSlicerIndexFromItem(DataTree->selectedItems()[0]);
//------------------------------------------------------------------------------
void vvMainWindow::GoToCursor() {
int index = GetSlicerIndexFromItem(DataTree->selectedItems()[0]);