STIR  6.2.0
display.h
Go to the documentation of this file.
1 
2 #ifndef __DISPLAY_H__
3 #define __DISPLAY_H__
4 
18 /*
19  Copyright (C) 2000 PARAPET partners
20  Copyright (C) 2000- 2009, Hammersmith Imanet Ltd
21  This file is part of STIR.
22 
23  SPDX-License-Identifier: Apache-2.0 AND License-ref-PARAPET-license
24 
25  See STIR/LICENSE.txt for details
26 */
27 
28 #include "stir/VectorWithOffset.h"
29 #include "stir/Array.h"
30 
31 START_NAMESPACE_STIR
32 
33 #if defined(__GNUC__) && (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
34 // gcc 2.95.2 is the only compiler we've used that handles the defaults properly
35 
73 // TODO, make version with CHARP ='string' but requires function overloading
74 template <class elemT, class scaleT, class CHARP>
75 void display(const Array<3, elemT>& plane_stack,
76  const VectorWithOffset<scaleT>& scale_factors,
77  const VectorWithOffset<CHARP>& text,
78  double maxi = 0,
79  const char* const title = 0,
80  int zoom = 0);
81 
83 template <class elemT>
84 inline void display(const Array<3, elemT>& plane_stack, double maxi = 0, const char* const title = 0, int zoom = 0);
85 
87 template <class elemT>
88 inline void display(const Array<2, elemT>& plane, const char* const text = 0, double maxi = 0, int zoom = 0);
89 
90 #else // !gcc 2.95
91 
92 // VC and gcc 2.8.1 have problems with the defaults in the above declarations.
93 // So, we have to do them by hand...
94 template <class elemT, class scaleT, class CHARP>
95 void display(const Array<3, elemT>& plane_stack,
96  const VectorWithOffset<scaleT>& scale_factors,
97  const VectorWithOffset<CHARP>& text,
98  double maxi,
99  const char* const title,
100  int zoom);
101 
102 template <class elemT, class scaleT, class CHARP>
103 inline void display(const Array<3, elemT>& plane_stack,
104  const VectorWithOffset<scaleT>& scale_factors,
105  const VectorWithOffset<CHARP>& text,
106  double maxi,
107  const char* const title);
108 
109 template <class elemT, class scaleT, class CHARP>
110 inline void display(const Array<3, elemT>& plane_stack,
111  const VectorWithOffset<scaleT>& scale_factors,
112  const VectorWithOffset<CHARP>& text,
113  double maxi);
114 
115 template <class elemT, class scaleT, class CHARP>
116 inline void
117 display(const Array<3, elemT>& plane_stack, const VectorWithOffset<scaleT>& scale_factors, const VectorWithOffset<CHARP>& text);
118 
119 template <class elemT>
120 inline void display(const Array<3, elemT>& plane_stack, double maxi, const char* const title, int zoom);
121 
122 template <class elemT>
123 inline void display(const Array<3, elemT>& plane_stack, double maxi, const char* const title);
124 
125 template <class elemT>
126 inline void display(const Array<3, elemT>& plane_stack, double maxi);
127 
128 template <class elemT>
129 inline void display(const Array<3, elemT>& plane_stack);
130 
131 template <class elemT>
132 inline void display(const Array<2, elemT>& plane, const char* const text, double maxi, int zoom);
133 
134 template <class elemT>
135 inline void display(const Array<2, elemT>& plane, const char* const text, double maxi);
136 
137 template <class elemT>
138 inline void display(const Array<2, elemT>& plane, const char* const text);
139 
140 template <class elemT>
141 inline void display(const Array<2, elemT>& plane);
142 
143 #endif
144 
145 template <typename elemT>
146 class RelatedViewgrams;
147 
149 template <class elemT>
150 void display(const RelatedViewgrams<elemT>& v1, double maxi = 0, const char* const title = 0, int zoom = 0);
151 
152 class DetPairData;
153 class FanProjData;
154 
155 void display(const DetPairData&, const char* const);
156 void display(const FanProjData&, const char* const);
157 
158 END_NAMESPACE_STIR
159 
160 #include "stir/display.inl"
161 
162 #endif
defines the Array class for multi-dimensional (numeric) arrays
defines the stir::VectorWithOffset class
functions to display 2D and 3D stir::Array objects