hdfimport(1)
π hdfimport β bestie, let's get this data INTO an HDF file π
okay so welcome to hdfimport(1), the section 1 manual page you're literally about to become obsessed with. this is the glow-up guide for shoving ASCII or binary data into HDF. no cap. β¨
πΈ NAME πΈ
hdfimport β imports ASCII or binary data into HDF
π SYNOPSIS π
hdfimport <infile> [ [-t[ype] output-type | -n] [ <infile> [-t[ype]
output-type | -n] ... ] ] -o[utfile] outfile [-r[aster]
[ras_opts ...]] [-f[loat]]
like, look at her. she's giving main character energy. π«Ά
π¦ DESCRIPTION π¦
so what does hdfimport actually DO? she converts floating point data into HDF Scientific Data Set (SDS) format and/or 8-bit Raster Image Set (RIS8) format, and she stores the results in an HDF file. and the image data? it can be scaled about a mean value. iconic behavior honestly. π
β¨ OPTIONS β¨
infile(s)β the name of the input file(s). they hold a single two-dimensional or three-dimensional floating point array, in either ASCII text, native floating point, native integer or HDF SDS format. if you're feeding in an HDF file, it has to contain an SDS. that SDS only needs a dimension record and the data β but if it also has maximum and minimum values and/or scales for each axis, bestie, those get used too. π and if your input format is ASCII text or native floating point or native integer, go peek at "Notes" below for how it has to be organized.-t[ype] output-typeβ optionally used for every input ASCII file to specify the data type of the data-set to be written. if you don't specify it, the default data type is 32-bit floating point.output-typecan be any of these:FP32(default),FP64,INT32,INT16,INT8. heads up: it can only be used with ASCII files. π-nβ only use this one if your binary input file contains 64-bit floating point data AND you want to override the default behaviour (which is, btw, to write it to a 32-bit floating point data-set) so it gets written to a 64-bit floating point data-set instead. periodt.-t[ype] output-typeβ data from one or more input files are stored as one or more data sets and/or images in one HDF output file,outfile. (yes she shows up twice in the list, she's that girl. π)-r[aster]β store output as a raster image set in the output file.-f[loat]β store output as a scientific data set in the output file. this is the default if the-roption is not specified.[ras_opts ...]β the raster options, and she has a whole little family:-e[xpand] horiz vert [depth]β expand float data via pixel replication to produce the image(s).horizandvertgive the horizontal and vertical resolution of the image(s) to be produced; and optionally,depthgives the number of images or depth planes (for 3D input data). π-i[nterp] horiz vert [depth]β apply bilinear, or trilinear, interpolation to the float data to produce the image(s).horiz,vert, anddepthmust be greater than or equal to the dimensions of the original dataset. and if max and min are supplied in the input file, this option clips values that are greater than max or less then min, setting them to the max and min, respectively. (that "less then" is verbatim, bestie, don't come for me π)-p[alfile] palfileβ store the palette with the image. get the palette frompalfile; which may be an HDF file containing a palette, or a file containing a raw palette. π¨-m[ean] meanβ if a floating point mean value is given, the image will be scaled about the mean. the new extremes (newmax and newmin), as given by:
newmax = mean + max(abs(max-mean), abs(mean-min))
newmin = mean - max(abs(max-mean), abs(mean-min))
will be equidistant from the mean value. if no mean value is given, then the mean will be:
0.5 * (max + min)
π Notes (the important lore) π
if the input file format is ASCII text or native floating point or native integer (32-bit, 16-bit, 8-bit), it must have the following input fields:
format
nplanes
nrows
cols
max_value
min_value
[plane1 plane2 plane3 ...]
row1 row2 row3 ...
col1 col2 col3 ...
data1 data2 data3 ...
where:
format: β format designator ("TEXT","FP32","FP64","IN32","IN16","IN08").nplanes,nrows,ncols: β dimensions are specified in the order slowest changing dimension first.ncolsis dimension of the fastest changing dimension. (horizontal axis or X-axis in a 3D scale)nrowscorresponds to dimension of the vertical axis or Y-axis in a 3D scale.nplanescorresponds to the slowest changing dimension i.e. dimension of the depth axis or the Z-axis in a 3D scale ("1"for 2D input).max_value: β maximum data value.min_value: β minimum data value.plane1,plane2,plane3, ...: β scales for depth axis.row1,row2,row3, ...: β scales for the vertical axis.col1,col2,col3, ...: β scales for the horizontal axis.data1,data2,data3, ...: β the data ordered by rows, left to right and top to bottom; then optionally, ordered by planes, front to back. π
for FP32 and FP64 input format, format, nplanes, nrows, ncols, and nplanes are native integers; where format is the integer representation of the appropriate 4-character string (0x46503332 for "FP32" and 0x46503634 for "FP64"). the remaining input fields are composed of native 32-bit floating point values for FP32 input format, or native 64-bit floating point values for FP64 input format. π
for IN32, IN16 and IN08 input format, format, nplanes, nrows, ncols, and nplanes are native integers; where format is the integer representation of the appropriate 4-character string. the remaining input fields are composed of native 32-bit integer values for IN32 input format, or native 16-bit integer values for IN16 input format or native 8-bit integer values for IN08 input format.
π₯ EXAMPLES π₯
convert floating point data in "f1.txt" to SDS format, and store it as an SDS in HDF file "o1":
hdfimport f1.txt -o o1
convert floating point data in "f2.hdf" to 8-bit raster format, and store it as an RIS8 in HDF file "o2":
hdfimport f2.hdf -o o2 -r
convert floating point data in "f3.bin" to 8-bit raster format and SDS format, and store both the RIS8 and the SDS in HDF file "o3":
hdfimport f3.bin -o o3 -r -f
convert floating point data in "f4" to a 500x600 raster image, and store the RIS8 in HDF file "o4". also store a palette from "palfile" with the image:
hdfimport f4 -o o4 -r -e 500 600 -p palfile
convert floating point data in "f5" to 200 planes of 500x600 raster images, and store the RIS8 in HDF file "o5". also scale the image data so that it is centered about a mean value of 10.0:
hdfimport f5 -o o5 -r -i 500 600 200 -m 10.0
ok that's the whole page bestie, you ate that. go forth and convert. π
and that's a wrap on this lil hdfimport(1) moment β dated 28 May 2016, slaying in section 1 of the manual. mwah, take care of her πβ¨π¦
π¦ where this page comes from
- debian bookworm: hdf4-tools 4.2.15-5 Β· HDF4
- debian trixie: hdf4-tools 4.3.0-1+b1 Β· HDF4
- ubuntu jammy: hdf4-tools 4.2.15-4 Β· HDF4
- ubuntu noble: hdf4-tools 4.2.16-4build1 Β· HDF4
- ubuntu questing: hdf4-tools 4.3.0-1
- ubuntu resolute: hdf4-tools 4.3.1-2 Β· HDF4
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms