00001 //------------------------------------------------------------------------ 00002 // 00003 // Joe Kniss 00004 // 6-20-03 00005 // ________ ____ ___ 00006 // | \ / | / / 00007 // +---+ \/ |/ / 00008 // +--+| |\ /| < 00009 // | || | \ / | |\ \ 00010 // | | \/ | | \ \ 00011 // \_____| |__| \__\ 00012 // Copyright 2003 00013 // Joe Michael Kniss 00014 // <<< jmk@cs.utah.edu >>> 00015 // "All Your Base are Belong to Us" 00016 //------------------------------------------------------------------------- 00017 00018 /// SlicerWidget.h 00019 /// simianUI 00020 00021 #ifndef __SIMIAN_SLICER_WIDGET_DOT_H 00022 #define __SIMIAN_SLICER_WIDGET_DOT_H 00023 00024 #include <qwidget.h> 00025 #include <qslider.h> 00026 #include <qlcdnumber.h> 00027 #include <qcombobox.h> 00028 #include <qcanvas.h> 00029 #include "SliceView.h" 00030 #include <volume/Volume.h> 00031 #include <image/NrroImage.h> 00032 #include <image/CanvasImage.h> 00033 00034 class SlicerWidget : public QWidget { 00035 Q_OBJECT 00036 public: 00037 SlicerWidget(QWidget *parent=0, char *name=0, WFlags f=0); 00038 virtual ~SlicerWidget(); 00039 00040 enum AXIS_ID { 00041 X_AXIS, 00042 Y_AXIS, 00043 Z_AXIS 00044 }; 00045 00046 public slots: 00047 void setVolume(VolumeSP vol); 00048 void setAxis(int axisId); 00049 void setSlice(int slicePos); 00050 void setFieldOn(int fieldNum); 00051 void setFieldOff(int fieldNum); 00052 void setPickPos(int xp, int yp); 00053 void setVolPos(int xp, int yp, int zp); 00054 00055 //// filters 00056 void setFilter(int f); 00057 00058 signals: 00059 void volPickPosChanged(int xp, int yp, int zp); 00060 00061 protected: 00062 virtual void resizeEvent(QResizeEvent *re); 00063 00064 virtual void conf(); 00065 00066 QCanvas *_sliceCanvas; 00067 SliceView *_sliceView; 00068 QSlider *_slider; 00069 QLCDNumber *_number; 00070 QComboBox *_axisCombo; 00071 NrroCanvasImg *_sliceImage; 00072 00073 int _curAxis; 00074 int _curSlice; 00075 00076 VolumeSP _vol; 00077 00078 NrroKernel _filter; 00079 }; 00080 00081 #endif 00082 00083