arrayviewer

4.1.1 • Public • Published

View binary array data stored in files, from node, the browser and the command line.

Install

npm install -g arrayviewer

Usage

Show the 4th element (-i 3) in an array stored in a file at ./data/a.f32:

arrayviewer ./data/a.f32 -i 3

produces something like,

[126.48208618164062, 127.23143005371094, 136.79074096679688,
-->126.48942565917969
127.26338195800781, 136.84552001953125, 126.47312927246094, 127.27062225341797, ...]

Show the 10th element, with more context (-c 5).

arrayviewer ./data/a.f32 -i 9 -c 5

might produce,

[..., 136.84552001953125, 126.47312927246094, 127.27062225341797, 136.86407470703125, 126.44374084472656,
-->127.25633239746094
136.88494873046875, 126.36851501464844, 127.19410705566406, 136.8431396484375, 126.31245422363281, ...]

Show some extra information with -v,

arrayviewer ./data/a.f32 -i 9 -c 5 -v

Length: 150528
[..., 136.84552001953125, 126.47312927246094, 127.27062225341797, 136.86407470703125, 126.44374084472656,
-->127.25633239746094
136.88494873046875, 126.36851501464844, 127.19410705566406, 136.8431396484375, 126.31245422363281, ...]

Types

Array type is inferred from a file's extension and can be overridden with the -t option.

arrayviewer ./data/a.arr -t int32

Extensions are mapped to a TypedArray in the following way,

extension TypedArray type
i8 Int8Array int8
u8 Uint8Array uint8
i16 Int16Array int16
u16 Uint16Array uint16
i32 Int32Array int32
u32 Uint32Array uint32
f32 Float32Array float32
f64 Float64Array float64

or (for non-binary types) to Javascript types like this,

extension Result Type type
json Object json
key Object json
txt String str
csv String str
tsv String str

Any value from the type column may be supplied with the -t option.

If none of these match the file extension (and no explicit type or metadata file is provided), the data will be interpreted as a Uint8Array.

Metadata

arrayviewer ./data/a.f32 -i 9 -c 6 -m

If the -m option is specified it will also look for a file of the same name as the array with the .meta extension. The meta file has the following format

{
	"shape" : [224, 224, 3],
	"type" : "float32"
}

type should be a string containing any of the values listed in the "type" column from the tables above.

These values match the numpy dtypes

In addition to allowing you to specify a type, providing a meta file allows you to index into an array using -i, -j, -k to specify row, column and channel, respectively.

Numpy

Write compatible arrays from numpy like this,

# given array 'a'
f = open('./data/a.f32', 'wb')
f.write(a.astype(np.float32).tostring())
f.close

Readme

Keywords

Package Sidebar

Install

npm i arrayviewer

Weekly Downloads

2

Version

4.1.1

License

MIT

Unpacked Size

8.23 kB

Total Files

3

Last publish

Collaborators

  • waylonflinn