Coverage Report

Created: 2026-09-28 07:04

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/dcmtk/dcmimgle/libsrc/dimo2img.cc
Line
Count
Source
1
/*
2
 *
3
 *  Copyright (C) 1996-2010, OFFIS e.V.
4
 *  All rights reserved.  See COPYRIGHT file for details.
5
 *
6
 *  This software and supporting documentation were developed by
7
 *
8
 *    OFFIS e.V.
9
 *    R&D Division Health
10
 *    Escherweg 2
11
 *    D-26121 Oldenburg, Germany
12
 *
13
 *
14
 *  Module:  dcmimgle
15
 *
16
 *  Author:  Joerg Riesmeier
17
 *
18
 *  Purpose: DicomMonochrome2Image (Source)
19
 *
20
 */
21
22
23
#include "dcmtk/config/osconfig.h"
24
#include "dcmtk/dcmdata/dctypes.h"
25
26
#include "dcmtk/dcmimgle/dimo2img.h"
27
#include "dcmtk/dcmimgle/diutils.h"
28
29
30
/*----------------*
31
 *  constructors  *
32
 *----------------*/
33
34
DiMono2Image::DiMono2Image(const DiDocument *docu,
35
                           const EI_Status status)
36
0
  : DiMonoImage(docu, status)
37
0
{
38
0
}
39
40
41
DiMono2Image::DiMono2Image(const DiDocument *docu,
42
                           const EI_Status status,
43
                           const double slope,
44
                           const double intercept)
45
0
  : DiMonoImage(docu, status, slope, intercept)
46
0
{
47
0
}
48
49
50
DiMono2Image::DiMono2Image(const DiDocument *docu,
51
                           const EI_Status status,
52
                           const DcmUnsignedShort &data,
53
                           const DcmUnsignedShort &descriptor,
54
                           const DcmLongString *explanation)
55
0
  : DiMonoImage(docu, status, data, descriptor, explanation)
56
0
{
57
0
}
58
59
60
DiMono2Image::DiMono2Image(const DiDocument *docu,
61
                           const EI_Status status,
62
                           const char dummy)
63
0
  : DiMonoImage(docu, status, dummy)
64
0
{
65
0
}
66
67
68
DiMono2Image::DiMono2Image(const DiMonoImage *image,
69
                           const unsigned long fstart,
70
                           const unsigned long fcount)
71
0
  : DiMonoImage(image, fstart, fcount)
72
0
{
73
0
}
74
75
76
DiMono2Image::DiMono2Image(const DiColorImage *image,
77
                           const double red,
78
                           const double green,
79
                           const double blue)
80
0
  : DiMonoImage(image, red, green, blue)
81
0
{
82
0
}
83
84
85
DiMono2Image::DiMono2Image(const DiMonoImage *image,
86
                           const signed long left_pos,
87
                           const signed long top_pos,
88
                           const Uint16 src_cols,
89
                           const Uint16 src_rows,
90
                           const Uint16 dest_cols,
91
                           const Uint16 dest_rows,
92
                           const int interpolate,
93
                           const int aspect,
94
                           const Uint16 pvalue)
95
0
  : DiMonoImage(image, left_pos, top_pos, src_cols, src_rows, dest_cols, dest_rows, interpolate, aspect, pvalue)
96
0
{
97
0
}
98
99
100
DiMono2Image::DiMono2Image(const DiMonoImage *image,
101
                           const int horz,
102
                           const int vert)
103
0
  : DiMonoImage(image, horz, vert)
104
0
{
105
0
}
106
107
108
DiMono2Image::DiMono2Image(const DiMonoImage *image,
109
                           const int degree)
110
0
  : DiMonoImage(image, degree)
111
0
{
112
0
}
113
114
115
DiMono2Image::DiMono2Image(const DiMonoImage *image,
116
                           DiMonoOutputPixel *pixel,
117
                           const unsigned long frame,
118
                           const int stored,
119
                           const int alloc)
120
0
  : DiMonoImage(image, pixel, frame, stored, alloc)
121
0
{
122
0
}
123
124
125
/*--------------*
126
 *  destructor  *
127
 *--------------*/
128
129
DiMono2Image::~DiMono2Image()
130
0
{
131
0
}
132
133
134
/*********************************************************************/
135
136
137
const void *DiMono2Image::getOutputData(const unsigned long frame,
138
                                        const int bits,
139
                                        const int planar)
140
0
{
141
0
    return DiMonoImage::getData(NULL, 0, frame, bits, planar, 0);
142
0
}
143
144
145
int DiMono2Image::getOutputData(void *buffer,
146
                                const unsigned long size,
147
                                const unsigned long frame,
148
                                const int bits,
149
                                const int planar)
150
0
{
151
0
    return (DiMonoImage::getData(buffer, size, frame, bits, planar, 0) != NULL);
152
0
}
153
154
155
DiImage *DiMono2Image::createImage(const unsigned long fstart,
156
                                   const unsigned long fcount) const
157
0
{
158
0
    DiImage *image = new DiMono2Image(this, fstart, fcount);
159
0
    return image;
160
0
}
161
162
163
DiImage *DiMono2Image::createScale(const signed long left_pos,
164
                                   const signed long top_pos,
165
                                   const unsigned long src_cols,
166
                                   const unsigned long src_rows,
167
                                   const unsigned long dest_cols,
168
                                   const unsigned long dest_rows,
169
                                   const int interpolate,
170
                                   const int aspect,
171
                                   const Uint16 pvalue) const
172
0
{
173
0
    DiImage *image = new DiMono2Image(this, left_pos, top_pos, OFstatic_cast(Uint16, src_cols),
174
0
        OFstatic_cast(Uint16, src_rows), OFstatic_cast(Uint16, dest_cols), OFstatic_cast(Uint16, dest_rows),
175
0
        interpolate, aspect, pvalue);
176
0
    return image;
177
0
}
178
179
180
DiImage *DiMono2Image::createFlip(const int horz,
181
                                  const int vert) const
182
0
{
183
0
    DiImage *image = new DiMono2Image(this, horz, vert);
184
0
    return image;
185
0
}
186
187
188
DiImage *DiMono2Image::createRotate(const int degree) const
189
0
{
190
0
    DiImage *image = new DiMono2Image(this, degree);
191
0
    return image;
192
0
}
193
194
195
DiImage *DiMono2Image::createMono(const double,
196
                                  const double,
197
                                  const double) const
198
0
{
199
0
    return createImage(0, 0);
200
0
}