32 #include "DGtal/io/viewers/Viewer3D.h" 33 #include "DGtal/images/ImageContainerBySTLVector.h" 34 #include "DGtal/helpers/StdDefs.h" 35 #include "DGtal/images/ConstImageAdapter.h" 36 #include "DGtal/io/colormaps/GradientColorMap.h" 37 #include "DGtal/io/colormaps/HueShadeColorMap.h" 41 #include <QMainWindow> 58 gradShadeCool(
DGtal::GradientColorMap<unsigned char,
DGtal::CMAP_COOL> (0,255)),
59 gradShadeHot(
DGtal::GradientColorMap<unsigned char,
DGtal::CMAP_HOT> (0,255))
65 unsigned int operator() (
unsigned char aVal)
const 68 if(myType == HueshadeCM)
70 col = hueShade((
unsigned int)aVal);
72 else if(myType == GradientMapHot)
74 col = gradShadeHot((
unsigned int)aVal);
76 else if(myType == GradientMapCool)
78 col = gradShadeCool((
unsigned int)aVal);
82 col = DGtal::Color(aVal);
84 return (((
unsigned int) col.red()) << 16)| (((
unsigned int) col.green()) << 8)|((
unsigned int) col.blue());
87 DGtal::HueShadeColorMap<unsigned char>
hueShade;
89 DGtal::GradientColorMap<unsigned char, DGtal::CMAP_HOT>
gradShadeHot;
95 typedef DGtal::ImageContainerBySTLVector < DGtal::Z3i::Domain, unsigned char >
Image3D;
96 typedef DGtal::ImageContainerBySTLVector < DGtal::Z2i::Domain, unsigned char >
Image2D;
97 typedef DGtal::ConstImageAdapter<Image3D, Image2D::Domain, DGtal::functors::Projector< DGtal::Z3i::Space>,
99 typedef DGtal::ConstImageAdapter<Image3D, Image2D::Domain, DGtal::functors::Projector< DGtal::Z3i::Space>,
103 explicit MainWindow(DGtal::Viewer3D<> *viewer, DGtal::ImageContainerBySTLVector < DGtal::Z3i::Domain,
104 unsigned char > *myImage3D,
const ColorMapFunctor &aFunctor, QWidget *parent = 0, Qt::WindowFlags flags=0);
106 void setImageProjX(
const QPixmap &aPixMap);
107 void setImageProjY(
const QPixmap &aPixMap);
108 void setImageProjZ(
const QPixmap &aPixMap);
111 void updateSliceImageX(
int sliceNumber,
bool init);
112 void updateSliceImageY(
int sliceNumber,
bool init);
113 void updateSliceImageZ(
int sliceNumber,
bool init);
115 void updateZoomImageX(
int sliceNumber,
double gridSize);
116 void updateZoomImageY(
int sliceNumber,
double gridSize);
117 void updateZoomImageZ(
int sliceNumber,
double gridSize);
118 void updateAllDisplayedImages();
122 void updateSliceImageX();
123 void updateSliceImageY();
124 void updateSliceImageZ();
126 void updateZoomImageX();
127 void updateZoomImageY();
128 void updateZoomImageZ();
130 void setScale1_1_ImageX();
131 void setScale1_1_ImageY();
132 void setScale1_1_ImageZ();
134 void changeNormalColorMap();
135 void changeCoolColorMap();
136 void changeHueColorMap();
137 void changeHotColorMap();
148 #endif // MAINWINDOW_H
ColorMapFunctor(const ColorMapType type)
DGtal::ConstImageAdapter< Image3D, Image2D::Domain, DGtal::functors::Projector< DGtal::Z3i::Space >, Image3D::Value, DGtal::functors::Identity > SliceImageAdapter
DGtal::ImageContainerBySTLVector< DGtal::Z2i::Domain, unsigned char > Image2D
DGtal::ConstImageAdapter< Image3D, Image2D::Domain, DGtal::functors::Projector< DGtal::Z3i::Space >, Image3D::Value, ColorMapFunctor > SliceImageAdapterFct
ColorMapFunctor myColorMap
DGtal::HueShadeColorMap< unsigned char > hueShade
DGtal::GradientColorMap< unsigned char, DGtal::CMAP_COOL > gradShadeCool
DGtal::GradientColorMap< unsigned char, DGtal::CMAP_HOT > gradShadeHot
DGtal::Viewer3D * myViewer
DGtal::ImageContainerBySTLVector< DGtal::Z3i::Domain, unsigned char > Image3D