File: Reading-and-writing-2D-histograms.html

package info (click to toggle)
gsl-ref-html 2.3-1
  • links: PTS
  • area: non-free
  • in suites: bullseye, buster, sid
  • size: 6,876 kB
  • ctags: 4,574
  • sloc: makefile: 35
file content (156 lines) | stat: -rw-r--r-- 8,152 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 The GSL Team.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "GNU General Public License" and "Free Software
Needs Free Documentation", the Front-Cover text being "A GNU Manual",
and with the Back-Cover Text being (a) (see below). A copy of the
license is included in the section entitled "GNU Free Documentation
License".

(a) The Back-Cover Text is: "You have the freedom to copy and modify this
GNU Manual." -->
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Scientific Library &ndash; Reference Manual: Reading and writing 2D histograms</title>

<meta name="description" content="GNU Scientific Library &ndash; Reference Manual: Reading and writing 2D histograms">
<meta name="keywords" content="GNU Scientific Library &ndash; Reference Manual: Reading and writing 2D histograms">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Function-Index.html#Function-Index" rel="index" title="Function Index">
<link href="Histograms.html#Histograms" rel="up" title="Histograms">
<link href="Resampling-from-2D-histograms.html#Resampling-from-2D-histograms" rel="next" title="Resampling from 2D histograms">
<link href="2D-Histogram-Operations.html#g_t2D-Histogram-Operations" rel="previous" title="2D Histogram Operations">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Reading-and-writing-2D-histograms"></a>
<div class="header">
<p>
Next: <a href="Resampling-from-2D-histograms.html#Resampling-from-2D-histograms" accesskey="n" rel="next">Resampling from 2D histograms</a>, Previous: <a href="2D-Histogram-Operations.html#g_t2D-Histogram-Operations" accesskey="p" rel="previous">2D Histogram Operations</a>, Up: <a href="Histograms.html#Histograms" accesskey="u" rel="up">Histograms</a> &nbsp; [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Reading-and-writing-2D-histograms-1"></a>
<h3 class="section">23.20 Reading and writing 2D histograms</h3>

<p>The library provides functions for reading and writing two dimensional
histograms to a file as binary data or formatted text.
</p>
<dl>
<dt><a name="index-gsl_005fhistogram2d_005ffwrite"></a>Function: <em>int</em> <strong>gsl_histogram2d_fwrite</strong> <em>(FILE * <var>stream</var>, const gsl_histogram2d * <var>h</var>)</em></dt>
<dd><p>This function writes the ranges and bins of the histogram <var>h</var> to the
stream <var>stream</var> in binary format.  The return value is 0 for success
and <code>GSL_EFAILED</code> if there was a problem writing to the file.  Since
the data is written in the native binary format it may not be portable
between different architectures.
</p></dd></dl>

<dl>
<dt><a name="index-gsl_005fhistogram2d_005ffread"></a>Function: <em>int</em> <strong>gsl_histogram2d_fread</strong> <em>(FILE * <var>stream</var>, gsl_histogram2d * <var>h</var>)</em></dt>
<dd><p>This function reads into the histogram <var>h</var> from the stream
<var>stream</var> in binary format.  The histogram <var>h</var> must be
preallocated with the correct size since the function uses the number of
x and y bins in <var>h</var> to determine how many bytes to read.  The return
value is 0 for success and <code>GSL_EFAILED</code> if there was a problem
reading from the file.  The data is assumed to have been written in the
native binary format on the same architecture.
</p></dd></dl>

<dl>
<dt><a name="index-gsl_005fhistogram2d_005ffprintf"></a>Function: <em>int</em> <strong>gsl_histogram2d_fprintf</strong> <em>(FILE * <var>stream</var>, const gsl_histogram2d * <var>h</var>, const char * <var>range_format</var>, const char * <var>bin_format</var>)</em></dt>
<dd><p>This function writes the ranges and bins of the histogram <var>h</var>
line-by-line to the stream <var>stream</var> using the format specifiers
<var>range_format</var> and <var>bin_format</var>.  These should be one of the
<code>%g</code>, <code>%e</code> or <code>%f</code> formats for floating point
numbers.  The function returns 0 for success and <code>GSL_EFAILED</code> if
there was a problem writing to the file.  The histogram output is
formatted in five columns, and the columns are separated by spaces,
like this,
</p>
<div class="smallexample">
<pre class="smallexample">xrange[0] xrange[1] yrange[0] yrange[1] bin(0,0)
xrange[0] xrange[1] yrange[1] yrange[2] bin(0,1)
xrange[0] xrange[1] yrange[2] yrange[3] bin(0,2)
....
xrange[0] xrange[1] yrange[ny-1] yrange[ny] bin(0,ny-1)

xrange[1] xrange[2] yrange[0] yrange[1] bin(1,0)
xrange[1] xrange[2] yrange[1] yrange[2] bin(1,1)
xrange[1] xrange[2] yrange[1] yrange[2] bin(1,2)
....
xrange[1] xrange[2] yrange[ny-1] yrange[ny] bin(1,ny-1)

....

xrange[nx-1] xrange[nx] yrange[0] yrange[1] bin(nx-1,0)
xrange[nx-1] xrange[nx] yrange[1] yrange[2] bin(nx-1,1)
xrange[nx-1] xrange[nx] yrange[1] yrange[2] bin(nx-1,2)
....
xrange[nx-1] xrange[nx] yrange[ny-1] yrange[ny] bin(nx-1,ny-1)
</pre></div>

<p>Each line contains the lower and upper limits of the bin and the
contents of the bin.  Since the upper limits of the each bin are the
lower limits of the neighboring bins there is duplication of these
values but this allows the histogram to be manipulated with
line-oriented tools.
</p></dd></dl>

<dl>
<dt><a name="index-gsl_005fhistogram2d_005ffscanf"></a>Function: <em>int</em> <strong>gsl_histogram2d_fscanf</strong> <em>(FILE * <var>stream</var>, gsl_histogram2d * <var>h</var>)</em></dt>
<dd><p>This function reads formatted data from the stream <var>stream</var> into the
histogram <var>h</var>.  The data is assumed to be in the five-column format
used by <code>gsl_histogram2d_fprintf</code>.  The histogram <var>h</var> must be
preallocated with the correct lengths since the function uses the sizes
of <var>h</var> to determine how many numbers to read.  The function returns 0
for success and <code>GSL_EFAILED</code> if there was a problem reading from
the file.
</p></dd></dl>

<hr>
<div class="header">
<p>
Next: <a href="Resampling-from-2D-histograms.html#Resampling-from-2D-histograms" accesskey="n" rel="next">Resampling from 2D histograms</a>, Previous: <a href="2D-Histogram-Operations.html#g_t2D-Histogram-Operations" accesskey="p" rel="previous">2D Histogram Operations</a>, Up: <a href="Histograms.html#Histograms" accesskey="u" rel="up">Histograms</a> &nbsp; [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>