1 /*# ---------------------------------------------------------------------
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
5 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
7 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
9 # This software is governed by the CeCILL-B license under French law and
10 # abiding by the rules of distribution of free software. You can use,
11 # modify and/ or redistribute the software under the terms of the CeCILL-B
12 # license as circulated by CEA, CNRS and INRIA at the following URL
13 # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
14 # or in the file LICENSE.txt.
16 # As a counterpart to the access to the source code and rights to copy,
17 # modify and redistribute granted by the license, users are provided only
18 # with a limited warranty and the software's author, the holder of the
19 # economic rights, and the successive licensors have only limited
22 # The fact that you are presently reading this means that you have had
23 # knowledge of the CeCILL-B license and that you accept its terms.
24 # ------------------------------------------------------------------------ */
26 #ifndef __CMARACASCONTROLLER_H_
27 #define __CMARACASCONTROLLER_H_
29 // The following ifdef block is the standard way of creating macros which make exporting
30 // from a DLL simpler. All files within this DLL are compiled with the MaracasWin32Lib_EXPORTS
31 // symbol defined on the command line. this symbol should not be defined on any project
32 // that uses this DLL. This way any other project whose source files include this file see
33 // MARACASDLL_API functions as being imported from a DLL, wheras this DLL sees symbols
34 // defined with this macro as being exported.
35 #ifdef MaracasWin32Lib_EXPORTS
36 #define MARACASDLL_API __declspec(dllexport)
38 #define MARACASDLL_API __declspec(dllimport)
41 // This class is exported from the MaracasWin32Lib.dll
42 class MARACASDLL_API CMaracasController {
44 CMaracasController(void);
46 ~CMaracasController();
50 int ShowApp(int nCmdShow);
54 void GetSnapshot( unsigned int& rWidth,
55 unsigned int& rHeight,
56 unsigned char*& rpPixels ) /*const*/ ;
58 /*! \brief Notify the snapshot bitmap has been retrieved
60 int ReleaseSnapshot();
62 /*! \brief Notify the resampled image has been retrieved
64 int OutputVolumeRetrieved();
66 void SetVolumeParams(int nX, int nY, int nSlices);
68 void SetSliceParams(float pixelSpacingColumn,
69 float pixelSpacingRow,
70 float pixelSpacingSlice,
72 float RescaleIntercept);
74 void SetSlicePixels(int numSlice,unsigned short * pixels);
77 wxMaracasApp *m_pMarApp;
78 unsigned char *_rpPixels; //Snapshot
80 unsigned short *m_pSlicesPixels;
84 float m_PixelSpacingColumn;
85 float m_PixelSpacingRow;
86 float m_PixelSpacingSlice;
88 float m_RescaleIntercept;
92 #endif // __CMARACASCONTROLLER_H_