DGtalTools  0.9.2
Data Structures | Public Types | Public Slots | Public Member Functions | Private Attributes
MainWindow Class Reference

#include <visualisation/sliceViewer.h>

Inherits QMainWindow.

Collaboration diagram for MainWindow:
Collaboration graph
[legend]

Data Structures

struct  ColorMapFunctor
 

Public Types

typedef DGtal::ImageContainerBySTLVector< DGtal::Z3i::Domain, unsigned char > Image3D
 
typedef DGtal::ImageContainerBySTLVector< DGtal::Z2i::Domain, unsigned char > Image2D
 
typedef DGtal::ConstImageAdapter< Image3D, Image2D::Domain, DGtal::functors::Projector< DGtal::Z3i::Space >, Image3D::Value, DGtal::functors::Identity > SliceImageAdapter
 
typedef DGtal::ConstImageAdapter< Image3D, Image2D::Domain, DGtal::functors::Projector< DGtal::Z3i::Space >, Image3D::Value, ColorMapFunctorSliceImageAdapterFct
 

Public Slots

void updateSliceImageX ()
 
void updateSliceImageY ()
 
void updateSliceImageZ ()
 
void updateZoomImageX ()
 
void updateZoomImageY ()
 
void updateZoomImageZ ()
 
void setScale1_1_ImageX ()
 
void setScale1_1_ImageY ()
 
void setScale1_1_ImageZ ()
 
void changeNormalColorMap ()
 
void changeCoolColorMap ()
 
void changeHueColorMap ()
 
void changeHotColorMap ()
 

Public Member Functions

 MainWindow (DGtal::Viewer3D<> *viewer, DGtal::ImageContainerBySTLVector< DGtal::Z3i::Domain, unsigned char > *myImage3D, const ColorMapFunctor &aFunctor, QWidget *parent=0, Qt::WindowFlags flags=0)
 
 ~MainWindow ()
 
void setImageProjX (const QPixmap &aPixMap)
 
void setImageProjY (const QPixmap &aPixMap)
 
void setImageProjZ (const QPixmap &aPixMap)
 
void updateSliceImageX (int sliceNumber, bool init)
 
void updateSliceImageY (int sliceNumber, bool init)
 
void updateSliceImageZ (int sliceNumber, bool init)
 
void updateZoomImageX (int sliceNumber, double gridSize)
 
void updateZoomImageY (int sliceNumber, double gridSize)
 
void updateZoomImageZ (int sliceNumber, double gridSize)
 
void updateAllDisplayedImages ()
 

Private Attributes

Ui::MainWindow * ui
 
DGtal::Viewer3D * myViewer
 
Image3DmyImage3D
 
ColorMapFunctor myColorMap
 

Detailed Description

Definition at line 48 of file sliceViewer.h.

Member Typedef Documentation

typedef DGtal::ImageContainerBySTLVector< DGtal::Z2i::Domain, unsigned char > MainWindow::Image2D

Definition at line 96 of file sliceViewer.h.

typedef DGtal::ImageContainerBySTLVector< DGtal::Z3i::Domain, unsigned char > MainWindow::Image3D

Definition at line 95 of file sliceViewer.h.

typedef DGtal::ConstImageAdapter<Image3D, Image2D::Domain, DGtal::functors::Projector< DGtal::Z3i::Space>, Image3D::Value, DGtal::functors::Identity > MainWindow::SliceImageAdapter

Definition at line 98 of file sliceViewer.h.

typedef DGtal::ConstImageAdapter<Image3D, Image2D::Domain, DGtal::functors::Projector< DGtal::Z3i::Space>, Image3D::Value, ColorMapFunctor > MainWindow::SliceImageAdapterFct

Definition at line 100 of file sliceViewer.h.

Member Enumeration Documentation

Enumerator
Id 
GradientMapHot 
GradientMapCool 
HueshadeCM 

Definition at line 54 of file sliceViewer.h.

Constructor & Destructor Documentation

MainWindow::MainWindow ( DGtal::Viewer3D<> *  viewer,
DGtal::ImageContainerBySTLVector< DGtal::Z3i::Domain, unsigned char > *  myImage3D,
const ColorMapFunctor aFunctor,
QWidget *  parent = 0,
Qt::WindowFlags  flags = 0 
)
explicit

Definition at line 135 of file sliceViewer.cpp.

References changeCoolColorMap(), changeHotColorMap(), changeHueColorMap(), changeNormalColorMap(), setScale1_1_ImageX(), setScale1_1_ImageY(), setScale1_1_ImageZ(), ui, updateSliceImageX(), updateSliceImageY(), updateSliceImageZ(), updateZoomImageX(), updateZoomImageY(), and updateZoomImageZ().

137  :
138  QMainWindow(parent),
139  ui(new Ui::MainWindow),
140  myViewer(aViewer),
141  myImage3D(anImage),
142  myColorMap(aFunctor)
143 {
144 
145  ui->setupUi(this);
146  ui->verticalLayout_5->addWidget(aViewer);
147 
148 
149  ui->_horizontalSliderZ->setMinimum(anImage->domain().lowerBound()[2]);
150  ui->_horizontalSliderZ->setMaximum(anImage->domain().upperBound()[2]);
151  ui->_horizontalSliderZ->setValue(anImage->domain().lowerBound()[2]);
152 
153  ui->_horizontalSliderY->setMinimum(anImage->domain().lowerBound()[1]);
154  ui->_horizontalSliderY->setMaximum(anImage->domain().upperBound()[1]);
155  ui->_horizontalSliderY->setValue(anImage->domain().lowerBound()[1]);
156 
157  ui->_horizontalSliderX->setMinimum(anImage->domain().lowerBound()[0]);
158  ui->_horizontalSliderX->setMaximum(anImage->domain().upperBound()[0]);
159  ui->_horizontalSliderX->setValue(anImage->domain().lowerBound()[0]);
160 
161  ui->_zoomXSlider->setMinimum( MIN_ZOOM_FACTOR);
162  ui->_zoomXSlider->setMaximum( MAX_ZOOM_FACTOR);
163  ui->_zoomXSlider->setValue(INIT_SCALE1_ZOOM_FACTOR);
164 
165  ui->_zoomYSlider->setMinimum(MIN_ZOOM_FACTOR);
166  ui->_zoomYSlider->setMaximum(MAX_ZOOM_FACTOR);
167  ui->_zoomYSlider->setValue(INIT_SCALE1_ZOOM_FACTOR);
168 
169  ui->_zoomZSlider->setMinimum(MIN_ZOOM_FACTOR);
170  ui->_zoomZSlider->setMaximum(MAX_ZOOM_FACTOR);
171  ui->_zoomZSlider->setValue(INIT_SCALE1_ZOOM_FACTOR);
172 
173  QObject::connect(ui->_horizontalSliderX, SIGNAL(valueChanged(int)), this, SLOT(updateSliceImageX()));
174  QObject::connect(ui->_horizontalSliderY, SIGNAL(valueChanged(int)), this, SLOT(updateSliceImageY()));
175  QObject::connect(ui->_horizontalSliderZ, SIGNAL(valueChanged(int)), this, SLOT(updateSliceImageZ()));
176  QObject::connect(ui->_zoomXSlider, SIGNAL(valueChanged(int)), this, SLOT(updateZoomImageX()));
177  QObject::connect(ui->_zoomYSlider, SIGNAL(valueChanged(int)), this, SLOT(updateZoomImageY()));
178  QObject::connect(ui->_zoomZSlider, SIGNAL(valueChanged(int)), this, SLOT(updateZoomImageZ()));
179 
180  QObject::connect(ui->_scale1ButtonX, SIGNAL(clicked()), this, SLOT(setScale1_1_ImageX()));
181  QObject::connect(ui->_scale1ButtonY, SIGNAL(clicked()), this, SLOT(setScale1_1_ImageY()));
182  QObject::connect(ui->_scale1ButtonZ, SIGNAL(clicked()), this, SLOT(setScale1_1_ImageZ()));
183 
184  QObject::connect(ui->_CoolButton, SIGNAL(clicked()), this, SLOT(changeCoolColorMap()));
185  QObject::connect(ui->_HotButton, SIGNAL(clicked()), this, SLOT(changeHotColorMap()));
186  QObject::connect(ui->_HueButton, SIGNAL(clicked()), this, SLOT(changeHueColorMap()));
187  QObject::connect(ui->_NormalButton, SIGNAL(clicked()), this, SLOT(changeNormalColorMap()));
188 
189 
190 }
Ui::MainWindow * ui
Definition: sliceViewer.h:142
void setScale1_1_ImageY()
void changeNormalColorMap()
void updateZoomImageX()
void changeCoolColorMap()
void updateZoomImageY()
ColorMapFunctor myColorMap
Definition: sliceViewer.h:145
Image3D * myImage3D
Definition: sliceViewer.h:144
void setScale1_1_ImageZ()
void updateSliceImageX()
void updateSliceImageZ()
void changeHotColorMap()
void setScale1_1_ImageX()
void updateZoomImageZ()
void changeHueColorMap()
DGtal::Viewer3D * myViewer
Definition: sliceViewer.h:143
void updateSliceImageY()
MainWindow::~MainWindow ( )

Definition at line 192 of file sliceViewer.cpp.

References ui.

193 {
194  delete ui;
195 }
Ui::MainWindow * ui
Definition: sliceViewer.h:142

Member Function Documentation

void MainWindow::changeCoolColorMap ( )
slot

Definition at line 207 of file sliceViewer.cpp.

References GradientMapCool, myColorMap, and updateAllDisplayedImages().

Referenced by MainWindow().

207  {
210 }
ColorMapFunctor myColorMap
Definition: sliceViewer.h:145
void updateAllDisplayedImages()
void MainWindow::changeHotColorMap ( )
slot

Definition at line 215 of file sliceViewer.cpp.

References GradientMapHot, myColorMap, and updateAllDisplayedImages().

Referenced by MainWindow().

215  {
218 }
ColorMapFunctor myColorMap
Definition: sliceViewer.h:145
void updateAllDisplayedImages()
void MainWindow::changeHueColorMap ( )
slot

Definition at line 211 of file sliceViewer.cpp.

References HueshadeCM, myColorMap, and updateAllDisplayedImages().

Referenced by MainWindow().

211  {
214 }
ColorMapFunctor myColorMap
Definition: sliceViewer.h:145
void updateAllDisplayedImages()
void MainWindow::changeNormalColorMap ( )
slot

Definition at line 202 of file sliceViewer.cpp.

References Id, myColorMap, and updateAllDisplayedImages().

Referenced by MainWindow().

202  {
205 }
ColorMapFunctor myColorMap
Definition: sliceViewer.h:145
void updateAllDisplayedImages()
void MainWindow::setImageProjX ( const QPixmap &  aPixMap)

Definition at line 221 of file sliceViewer.cpp.

References ui.

Referenced by updateSliceImageX(), and updateZoomImageX().

221  {
222  ui->ImageProjX->setPixmap(aPixMap);
223 }
Ui::MainWindow * ui
Definition: sliceViewer.h:142
void MainWindow::setImageProjY ( const QPixmap &  aPixMap)

Definition at line 224 of file sliceViewer.cpp.

References ui.

Referenced by updateSliceImageY(), and updateZoomImageY().

224  {
225  ui->ImageProjY->setPixmap(aPixMap);
226 }
Ui::MainWindow * ui
Definition: sliceViewer.h:142
void MainWindow::setImageProjZ ( const QPixmap &  aPixMap)

Definition at line 227 of file sliceViewer.cpp.

References ui.

Referenced by updateSliceImageZ(), and updateZoomImageZ().

227  {
228  ui->ImageProjZ->setPixmap(aPixMap);
229 }
Ui::MainWindow * ui
Definition: sliceViewer.h:142
void MainWindow::setScale1_1_ImageX ( )
slot

Definition at line 245 of file sliceViewer.cpp.

References ui, and updateZoomImageX().

Referenced by MainWindow().

245  {
246  ui->_zoomXSlider->setValue(INIT_SCALE1_ZOOM_FACTOR);
248 }
Ui::MainWindow * ui
Definition: sliceViewer.h:142
void updateZoomImageX()
void MainWindow::setScale1_1_ImageY ( )
slot

Definition at line 250 of file sliceViewer.cpp.

References ui, and updateZoomImageY().

Referenced by MainWindow().

250  {
251  ui->_zoomYSlider->setValue(INIT_SCALE1_ZOOM_FACTOR);
253 }
Ui::MainWindow * ui
Definition: sliceViewer.h:142
void updateZoomImageY()
void MainWindow::setScale1_1_ImageZ ( )
slot

Definition at line 255 of file sliceViewer.cpp.

References ui, and updateZoomImageZ().

Referenced by MainWindow().

255  {
256  ui->_zoomZSlider->setValue(INIT_SCALE1_ZOOM_FACTOR);
258 }
Ui::MainWindow * ui
Definition: sliceViewer.h:142
void updateZoomImageZ()
void MainWindow::updateAllDisplayedImages ( )

Definition at line 197 of file sliceViewer.cpp.

References updateSliceImageX(), updateSliceImageY(), and updateSliceImageZ().

Referenced by changeCoolColorMap(), changeHotColorMap(), changeHueColorMap(), and changeNormalColorMap().

197  {
201 }
void updateSliceImageX()
void updateSliceImageZ()
void updateSliceImageY()
void MainWindow::updateSliceImageX ( int  sliceNumber,
bool  init 
)

Definition at line 326 of file sliceViewer.cpp.

References myColorMap, myImage3D, setImageProjX(), and ui.

Referenced by updateSliceImageZ().

326  {
327  DGtal::functors::Projector<DGtal::Z2i::Space> invFunctor; invFunctor.initRemoveOneDim(0);
328  DGtal::Z2i::Domain domain2D(invFunctor(myImage3D->domain().lowerBound()),
329  invFunctor(myImage3D->domain().upperBound()));
330  DGtal::functors::Projector<DGtal::Z3i::Space> aSliceFunctor(sliceNumber); aSliceFunctor.initAddOneDim(0);
331  const functors::Identity identityFunctor{};
332  SliceImageAdapter sliceImage ( *myImage3D, domain2D, aSliceFunctor, identityFunctor );
333 
334  double gridSize = ((double)INIT_SCALE1_ZOOM_FACTOR)/ui->_zoomXSlider->value();
335  QImage anImage = getImage(sliceImage, gridSize,myColorMap);
336  setImageProjX(QPixmap::fromImage(anImage));
337  Z3i::Point imageOrigin = myImage3D->domain().lowerBound();
338  if(init){
339  (*myViewer) << DGtal::AddTextureImage2DWithFunctor<SliceImageAdapter, ColorMapFunctor, Z3i::Space, Z3i::KSpace>(sliceImage, myColorMap, DGtal::Viewer3D<Z3i::Space, Z3i::KSpace>::RGBMode);
340  (*myViewer) << DGtal::UpdateImagePosition< Space, KSpace >(0, DGtal::Viewer3D<>::xDirection, sliceNumber,
341  imageOrigin[1], imageOrigin[2]);
342  (*myViewer) << Viewer3D<>::updateDisplay;
343  }else{
344  (*myViewer) << DGtal::UpdateImageData< SliceImageAdapter, ColorMapFunctor > (0, sliceImage, 0, 0, 0 ,0, DGtal::Viewer3D<>::xDirection, myColorMap);
345  (*myViewer) << DGtal::UpdateImagePosition< Space, KSpace >(0, DGtal::Viewer3D<>::xDirection, sliceNumber, imageOrigin[1],
346  imageOrigin[2]);
347 
348  (*myViewer).updateList(init);
349  (*myViewer).update();
350  }
351 
352 
353 }
Ui::MainWindow * ui
Definition: sliceViewer.h:142
DGtal::ConstImageAdapter< Image3D, Image2D::Domain, DGtal::functors::Projector< DGtal::Z3i::Space >, Image3D::Value, DGtal::functors::Identity > SliceImageAdapter
Definition: sliceViewer.h:98
ColorMapFunctor myColorMap
Definition: sliceViewer.h:145
Image3D * myImage3D
Definition: sliceViewer.h:144
void setImageProjX(const QPixmap &aPixMap)
void MainWindow::updateSliceImageX ( )
slot

Definition at line 232 of file sliceViewer.cpp.

References ui.

Referenced by MainWindow(), and updateAllDisplayedImages().

232  {
233  updateSliceImageX(ui->_horizontalSliderX->value(), false);
234 }
Ui::MainWindow * ui
Definition: sliceViewer.h:142
void updateSliceImageX()
void MainWindow::updateSliceImageY ( int  sliceNumber,
bool  init 
)

Definition at line 356 of file sliceViewer.cpp.

References myColorMap, myImage3D, setImageProjY(), and ui.

Referenced by updateSliceImageZ().

356  {
357 
358  DGtal::functors::Projector<DGtal::Z2i::Space> invFunctor; invFunctor.initRemoveOneDim(1);
359  DGtal::Z2i::Domain domain2D(invFunctor(myImage3D->domain().lowerBound()),
360  invFunctor(myImage3D->domain().upperBound()));
361  DGtal::functors::Projector<DGtal::Z3i::Space> aSliceFunctor(sliceNumber); aSliceFunctor.initAddOneDim(1);
362  const functors::Identity identityFunctor{};
363  SliceImageAdapter sliceImage( *myImage3D, domain2D, aSliceFunctor, identityFunctor );
364 
365  double gridSize = ((double)INIT_SCALE1_ZOOM_FACTOR)/ui->_zoomYSlider->value();
366  QImage anImage = getImage(sliceImage, gridSize, myColorMap);
367  setImageProjY(QPixmap::fromImage(anImage));
368  Z3i::Point imageOrigin = myImage3D->domain().lowerBound();
369  if(init){
370  (*myViewer) << DGtal::AddTextureImage2DWithFunctor<SliceImageAdapter, ColorMapFunctor, Z3i::Space, Z3i::KSpace>(sliceImage, myColorMap, DGtal::Viewer3D<Z3i::Space, Z3i::KSpace>::RGBMode);
371  (*myViewer) << DGtal::UpdateImagePosition< Space, KSpace >(1, DGtal::Viewer3D<>::yDirection, imageOrigin[0],
372  sliceNumber, imageOrigin[2]);
373  (*myViewer) << Viewer3D<>::updateDisplay;
374  }else{
375  (*myViewer) << DGtal::UpdateImageData< SliceImageAdapter, ColorMapFunctor > (1, sliceImage, 0,0, 0, 0, DGtal::Viewer3D<>::yDirection, myColorMap);
376  (*myViewer) << DGtal::UpdateImagePosition< Space, KSpace >(1, DGtal::Viewer3D<>::yDirection, imageOrigin[0],
377  sliceNumber, imageOrigin[2]);
378  (*myViewer).updateList(init);
379  (*myViewer).update();
380  }
381 
382 }
Ui::MainWindow * ui
Definition: sliceViewer.h:142
DGtal::ConstImageAdapter< Image3D, Image2D::Domain, DGtal::functors::Projector< DGtal::Z3i::Space >, Image3D::Value, DGtal::functors::Identity > SliceImageAdapter
Definition: sliceViewer.h:98
ColorMapFunctor myColorMap
Definition: sliceViewer.h:145
Image3D * myImage3D
Definition: sliceViewer.h:144
void setImageProjY(const QPixmap &aPixMap)
void MainWindow::updateSliceImageY ( )
slot

Definition at line 236 of file sliceViewer.cpp.

References ui.

Referenced by MainWindow(), and updateAllDisplayedImages().

236  {
237  updateSliceImageY(ui->_horizontalSliderY->value(), false);
238 }
Ui::MainWindow * ui
Definition: sliceViewer.h:142
void updateSliceImageY()
void MainWindow::updateSliceImageZ ( int  sliceNumber,
bool  init 
)

Definition at line 385 of file sliceViewer.cpp.

References GradientMapCool, GradientMapHot, HueshadeCM, Id, myColorMap, myImage3D, setImageProjZ(), ui, updateSliceImageX(), updateSliceImageY(), and updateSliceImageZ().

Referenced by updateSliceImageZ().

385  {
386 
387  DGtal::functors::Projector<DGtal::Z2i::Space> invFunctor; invFunctor.initRemoveOneDim(2);
388  DGtal::Z2i::Domain domain2D(invFunctor(myImage3D->domain().lowerBound()),
389  invFunctor(myImage3D->domain().upperBound()));
390  DGtal::functors::Projector<DGtal::Z3i::Space> aSliceFunctor(sliceNumber); aSliceFunctor.initAddOneDim(2);
391  const functors::Identity identityFunctor{};
392  SliceImageAdapter sliceImage( *myImage3D, domain2D, aSliceFunctor, identityFunctor );
393  double gridSize = (double)INIT_SCALE1_ZOOM_FACTOR/ui->_zoomZSlider->value();
394  QImage anImage = getImage(sliceImage, gridSize, myColorMap);
395  setImageProjZ(QPixmap::fromImage(anImage));
396  Z3i::Point imageOrigin = myImage3D->domain().lowerBound();
397  if(init){
398  (*myViewer) << DGtal::AddTextureImage2DWithFunctor<SliceImageAdapter, ColorMapFunctor, Z3i::Space, Z3i::KSpace>(sliceImage, myColorMap, DGtal::Viewer3D<Z3i::Space, Z3i::KSpace>::RGBMode);
399  (*myViewer) << DGtal::UpdateImagePosition< Space, KSpace >(2, DGtal::Viewer3D<>::zDirection, imageOrigin[0],
400  imageOrigin[1], sliceNumber);
401 
402  (*myViewer) << Viewer3D<>::updateDisplay;
403  }else{
404  (*myViewer) << DGtal::UpdateImageData< SliceImageAdapter,ColorMapFunctor > (2, sliceImage, 0,0, 0, 0, DGtal::Viewer3D<>::zDirection,
405  myColorMap);
406  (*myViewer) << DGtal::UpdateImagePosition< Space, KSpace >(2, DGtal::Viewer3D<>::zDirection, imageOrigin[0],
407  imageOrigin[1], sliceNumber);
408  (*myViewer).updateList(init);
409  (*myViewer).update();
410  }
411 
412 
413 }
Ui::MainWindow * ui
Definition: sliceViewer.h:142
DGtal::ConstImageAdapter< Image3D, Image2D::Domain, DGtal::functors::Projector< DGtal::Z3i::Space >, Image3D::Value, DGtal::functors::Identity > SliceImageAdapter
Definition: sliceViewer.h:98
ColorMapFunctor myColorMap
Definition: sliceViewer.h:145
Image3D * myImage3D
Definition: sliceViewer.h:144
void setImageProjZ(const QPixmap &aPixMap)
void MainWindow::updateSliceImageZ ( )
slot

Definition at line 240 of file sliceViewer.cpp.

References ui.

Referenced by MainWindow(), and updateAllDisplayedImages().

240  {
241  updateSliceImageZ(ui->_horizontalSliderZ->value(), false);
242 }
Ui::MainWindow * ui
Definition: sliceViewer.h:142
void updateSliceImageZ()
void MainWindow::updateZoomImageX ( int  sliceNumber,
double  gridSize 
)

Definition at line 290 of file sliceViewer.cpp.

References myColorMap, myImage3D, and setImageProjX().

290  {
291  DGtal::functors::Projector<DGtal::Z2i::Space> invFunctor; invFunctor.initRemoveOneDim(0);
292  DGtal::Z2i::Domain domain2D(invFunctor(myImage3D->domain().lowerBound()),
293  invFunctor(myImage3D->domain().upperBound()));
294  DGtal::functors::Projector<DGtal::Z3i::Space> aSliceFunctor(sliceNumber); aSliceFunctor.initAddOneDim(0);
295  const functors::Identity identityFunctor{};
296  SliceImageAdapter sliceImage( *myImage3D, domain2D, aSliceFunctor, identityFunctor );
297  QImage anImage = getImage(sliceImage, gridSize, myColorMap);
298  setImageProjX(QPixmap::fromImage(anImage));
299 }
DGtal::ConstImageAdapter< Image3D, Image2D::Domain, DGtal::functors::Projector< DGtal::Z3i::Space >, Image3D::Value, DGtal::functors::Identity > SliceImageAdapter
Definition: sliceViewer.h:98
ColorMapFunctor myColorMap
Definition: sliceViewer.h:145
Image3D * myImage3D
Definition: sliceViewer.h:144
void setImageProjX(const QPixmap &aPixMap)
void MainWindow::updateZoomImageX ( )
slot

Definition at line 262 of file sliceViewer.cpp.

References ui.

Referenced by MainWindow(), and setScale1_1_ImageX().

262  {
263  double gridSize = (double)INIT_SCALE1_ZOOM_FACTOR/ui->_zoomXSlider->value();
264  updateZoomImageX(ui->_horizontalSliderX->value(), gridSize );
265  QString gridStr = QString::number(gridSize, 'f', 3);
266  QString scaleStr = QString::number(1.0/gridSize, 'f', 3);
267  ui->_groupBoxX->setTitle(QString("Slice View X: sampling grid size: ").append(gridStr).
268  append(QString(" (zoom x "). append(scaleStr).append(QString(")") )));
269 }
Ui::MainWindow * ui
Definition: sliceViewer.h:142
void updateZoomImageX()
void MainWindow::updateZoomImageY ( int  sliceNumber,
double  gridSize 
)

Definition at line 301 of file sliceViewer.cpp.

References myColorMap, myImage3D, and setImageProjY().

301  {
302  DGtal::functors::Projector<DGtal::Z2i::Space> invFunctor; invFunctor.initRemoveOneDim(1);
303  DGtal::Z2i::Domain domain2D(invFunctor(myImage3D->domain().lowerBound()),
304  invFunctor(myImage3D->domain().upperBound()));
305  DGtal::functors::Projector<DGtal::Z3i::Space> aSliceFunctor(sliceNumber); aSliceFunctor.initAddOneDim(1);
306  const functors::Identity identityFunctor{};
307  SliceImageAdapter sliceImage( *myImage3D, domain2D, aSliceFunctor, identityFunctor );
308 
309  QImage anImage = getImage(sliceImage, gridSize, myColorMap);
310  setImageProjY(QPixmap::fromImage(anImage));
311 }
DGtal::ConstImageAdapter< Image3D, Image2D::Domain, DGtal::functors::Projector< DGtal::Z3i::Space >, Image3D::Value, DGtal::functors::Identity > SliceImageAdapter
Definition: sliceViewer.h:98
ColorMapFunctor myColorMap
Definition: sliceViewer.h:145
Image3D * myImage3D
Definition: sliceViewer.h:144
void setImageProjY(const QPixmap &aPixMap)
void MainWindow::updateZoomImageY ( )
slot

Definition at line 270 of file sliceViewer.cpp.

References ui.

Referenced by MainWindow(), and setScale1_1_ImageY().

270  {
271  double gridSize = (double)INIT_SCALE1_ZOOM_FACTOR/ui->_zoomYSlider->value();
272  updateZoomImageY(ui->_horizontalSliderY->value(), gridSize );
273  QString gridStr = QString::number(gridSize, 'f', 3);
274  QString scaleStr = QString::number(1.0/gridSize, 'f', 3);
275  ui->_groupBoxY->setTitle(QString("Slice View Y: sampling grid size: ").append(gridStr).
276  append(QString(" (zoom x "). append(scaleStr).append(QString(")") )));
277 
278 }
Ui::MainWindow * ui
Definition: sliceViewer.h:142
void updateZoomImageY()
void MainWindow::updateZoomImageZ ( int  sliceNumber,
double  gridSize 
)

Definition at line 314 of file sliceViewer.cpp.

References myColorMap, myImage3D, and setImageProjZ().

314  {
315  DGtal::functors::Projector<DGtal::Z2i::Space> invFunctor; invFunctor.initRemoveOneDim(2);
316  DGtal::Z2i::Domain domain2D(invFunctor(myImage3D->domain().lowerBound()),
317  invFunctor(myImage3D->domain().upperBound()));
318  DGtal::functors::Projector<DGtal::Z3i::Space> aSliceFunctor(sliceNumber); aSliceFunctor.initAddOneDim(2);
319  const functors::Identity identityFunctor{};
320  SliceImageAdapter sliceImage( *myImage3D, domain2D, aSliceFunctor, identityFunctor );
321  QImage anImage = getImage(sliceImage, gridSize, myColorMap );
322  setImageProjZ(QPixmap::fromImage(anImage));
323 }
DGtal::ConstImageAdapter< Image3D, Image2D::Domain, DGtal::functors::Projector< DGtal::Z3i::Space >, Image3D::Value, DGtal::functors::Identity > SliceImageAdapter
Definition: sliceViewer.h:98
ColorMapFunctor myColorMap
Definition: sliceViewer.h:145
Image3D * myImage3D
Definition: sliceViewer.h:144
void setImageProjZ(const QPixmap &aPixMap)
void MainWindow::updateZoomImageZ ( )
slot

Definition at line 279 of file sliceViewer.cpp.

References ui.

Referenced by MainWindow(), and setScale1_1_ImageZ().

279  {
280  double gridSize = (double)INIT_SCALE1_ZOOM_FACTOR/ui->_zoomZSlider->value();
281  updateZoomImageZ(ui->_horizontalSliderZ->value(), gridSize );
282  QString gridStr = QString::number(gridSize, 'f', 3);
283  QString scaleStr = QString::number(1.0/gridSize, 'f', 3);
284  ui->_groupBoxZ->setTitle(QString("Slice View Z: sampling grid size: ").append(gridStr).
285  append(QString(" (zoom x "). append(scaleStr).append(QString(")") )));
286 
287 }
Ui::MainWindow * ui
Definition: sliceViewer.h:142
void updateZoomImageZ()

Field Documentation

ColorMapFunctor MainWindow::myColorMap
private
Image3D* MainWindow::myImage3D
private
DGtal::Viewer3D* MainWindow::myViewer
private

Definition at line 143 of file sliceViewer.h.

Ui::MainWindow* MainWindow::ui
private

The documentation for this class was generated from the following files: