STIR 6.4.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
29#include "stir/Array.h"
30
31START_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
74template <class elemT, class scaleT, class CHARP>
75void 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
83template <class elemT>
84inline void display(const Array<3, elemT>& plane_stack, double maxi = 0, const char* const title = 0, int zoom = 0);
85
87template <class elemT>
88inline 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...
94template <class elemT, class scaleT, class CHARP>
95void 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
102template <class elemT, class scaleT, class CHARP>
103inline 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
109template <class elemT, class scaleT, class CHARP>
110inline void display(const Array<3, elemT>& plane_stack,
111 const VectorWithOffset<scaleT>& scale_factors,
112 const VectorWithOffset<CHARP>& text,
113 double maxi);
114
115template <class elemT, class scaleT, class CHARP>
116inline void
117display(const Array<3, elemT>& plane_stack, const VectorWithOffset<scaleT>& scale_factors, const VectorWithOffset<CHARP>& text);
118
119template <class elemT>
120inline void display(const Array<3, elemT>& plane_stack, double maxi, const char* const title, int zoom);
121
122template <class elemT>
123inline void display(const Array<3, elemT>& plane_stack, double maxi, const char* const title);
124
125template <class elemT>
126inline void display(const Array<3, elemT>& plane_stack, double maxi);
127
128template <class elemT>
129inline void display(const Array<3, elemT>& plane_stack);
130
131template <class elemT>
132inline void display(const Array<2, elemT>& plane, const char* const text, double maxi, int zoom);
133
134template <class elemT>
135inline void display(const Array<2, elemT>& plane, const char* const text, double maxi);
136
137template <class elemT>
138inline void display(const Array<2, elemT>& plane, const char* const text);
139
140template <class elemT>
141inline void display(const Array<2, elemT>& plane);
142
143#endif
144
145template <typename elemT>
146class RelatedViewgrams;
147
149template <class elemT>
150void display(const RelatedViewgrams<elemT>& v1, double maxi = 0, const char* const title = 0, int zoom = 0);
151
152class DetPairData;
153class FanProjData;
154
155void display(const DetPairData&, const char* const);
156void display(const FanProjData&, const char* const);
157
158END_NAMESPACE_STIR
159
160#include "stir/display.inl"
161
162#endif
defines the stir::Array class for multi-dimensional (numeric) arrays
defines the stir::VectorWithOffset class
functions to display 2D and 3D stir::Array objects