Command Line Data Visualizer
vscope is a small data visualizer for safe and quick cassification of unknown datasets. It generates a 2D histogram, which is specific to the internal structure of the input data and displays it right inside the terminal.
Usage: cat [FILE] | ./vscope [OPTION]...
Visualizes STDIN by writing a 2D histogram to STDOUT.
Useful for classifing unknown datasets.
Options:
  -h, --help         Shows this message and exits.
  -s, --size=NUM     Changes the size of the heatmap. If this flag is not set,
                     the map will be sized to fit the terminal window.
  -b, --bytes=NUM    Only reads the first NUM bytes from STDIN.
  -c, --color        Colors the heatmap using ANSI escape codes. This might
                     not look as intendet, depending on your terminal.
  -g, --gray         Enables a gray-scale version of --color. This flag
                     cannot be set in combination with --color.
  -p, --picture      Write pgm image data directly to STDOUT.
  -t, --thold=[NUM]  Checks if the value is higher than the threshold and
                     outputs either 00 or ff. If no NUM is defined, the
                     threshold will be set to 0.
This is what you get, when you feed the source code of the visualizer into the visualizer itself:
$ cat vscope.c | ./vscope -s 32
----------------------------------------------------------------
--ff----0f1a--48--------01----30--------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
--16----a5610b400106--035b404b17--------------------------------
--01----522c1b010402031b481c3e08--------------------------------
--------1e0a1214----0106------05--------------------------------
--------36341014------011a0e0404--------------------------------
--------060401--06040905----------------------------------------
--------08----020d0c0906----------------------------------------
--------0e01----02120e01----------------------------------------
--------080c06020502060108131f02--------------------------------
--1f----54290401--02--015a93ac23--------------------------------
--22----352301010403042c92b47804--------------------------------
--19----5527--08--0104019b906505--------------------------------
--30----13--06--------0613210308--------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
I included a makefile, so this part shouldn't be too difficult.
Compile the program:
make
Install the program:
make install
This project is inspired by the works of Christopher Domas: https://github.com/xoreaxeaxeax