arbeit
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

SlicerBase.h

Go to the documentation of this file.
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 
00019 ///SlicerBase.h
00020 ///  simianUI
00021 
00022 #ifndef __SIMIAN_SLICER_BASE_DOT_H
00023 #define __SIMIAN_SLICER_BASE_DOT_H
00024 
00025 #include <qpopupmenu.h>
00026 #include <qmainwindow.h>
00027 #include <qcanvas.h>
00028 #include <qlayout.h>
00029 #include <simBase/simBase.h>
00030 #include "SlicerWidget.h"
00031 #include "SlicerInfo.h"
00032 #include <volume/Volume.h>
00033 #include <vector>
00034 
00035 
00036 class SlicerBase : 
00037    public QMainWindow, 
00038    public SimBase
00039 {
00040    Q_OBJECT
00041 public:
00042    /// this one is for creating this class
00043    SlicerBase(QWidget *parent=0, const char *name=0, WFlags wf=0);
00044    
00045    /// this one is for base classes, doesn't build 
00046    /// internal widgets
00047    SlicerBase(int views, QWidget *parent=0, const char *name=0, WFlags wf=0);
00048    
00049    virtual ~SlicerBase();
00050 
00051    enum FILTERS {
00052       NEAREST,
00053       BILIN,
00054       BICUBE,
00055       BSPLINE
00056    };
00057 
00058 
00059 public slots:
00060    virtual void setVolume(VolumeSP vol);
00061    virtual void setNrro(NrroSP n);
00062 
00063 protected slots:
00064    void saveImage();
00065    void openNrrd();
00066    void insertNrrd();
00067    void setProbePos(int xp, int yp, int zp);
00068 
00069    ////// filters
00070    void setNearest() {filterChanged(NEAREST);}
00071    void setBiLin()   {filterChanged(BILIN);}
00072    void setBiCube()  {filterChanged(BICUBE);}
00073    void setBSpline() {filterChanged(BSPLINE);}
00074 
00075 signals:
00076    void volumeChanged(VolumeSP vol);
00077    void probePosChanged(int xp, int yp, int zp);
00078 
00079    ////// filters 
00080    void filterChanged(int filt);
00081 
00082 protected:
00083 
00084    virtual void confMenu();
00085    virtual void confSliceView();
00086 
00087    virtual void keyPressEvent(QKeyEvent *key);
00088 
00089    ///////////////////////////////////
00090    /// main widget to add stuff to
00091    QWidget  *_qcentral;
00092 
00093    ///////////////////////////////////
00094    /// volume being sliced
00095    VolumeSP _vol;
00096 
00097    SlicerInfo *_sliceInfo;
00098 };
00099 
00100 
00101 #endif
00102 
00103 

Send questions, comments, and bug reports to:
jmk