summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Huwald <jh@sotun.de>2013-01-31 11:05:04 (GMT)
committerJan Huwald <jh@sotun.de>2013-01-31 11:05:04 (GMT)
commit32609a3cf6b4f7f62d0f0c3bddc719ad66ad364f (patch)
treef22c13c1d14cf49f2bfe325ee27a3417ed6b9c43
parentd606b9cce4d010b145cd18b93b8b902a4db76343 (diff)
add histogram helpers
-rwxr-xr-x2dhist_to_img40
-rwxr-xr-x4r_hash_hist4
-rw-r--r--4r_trans_hist4
3 files changed, 48 insertions, 0 deletions
diff --git a/2dhist_to_img b/2dhist_to_img
new file mode 100755
index 0000000..b0ed12f
--- /dev/null
+++ b/2dhist_to_img
@@ -0,0 +1,40 @@
+#!/usr/bin/python
+
+import sys
+import math
+
+# read sparse matrix
+a = {}
+amax = []
+amin = []
+for line in sys.stdin:
+ point = line.split('\t')
+ val = int(point[0])
+ pos = (int(point[1]), int(point[2]))
+ a[pos] = val
+
+ # update array size
+ if len(amax) == 0:
+ amax = [pos[0], pos[1]]
+ amin = [pos[0], pos[1]]
+ for i in [0,1]:
+ amin[i] = min(amin[i], pos[i])
+ amax[i] = max(amax[i], pos[i])
+
+vbase = 0
+if len(sys.argv) > 1:
+ vbase = int(sys.argv[1])
+
+# print matrix result
+if len(amax) == 0:
+ print 0
+ exit(0)
+for x in range(amin[0], amax[0]):
+ for y in range(amin[1], amax[1]):
+ v = vbase
+ if (x,y) in a:
+ v = v + a[(x,y)]
+ sys.stdout.write(str(v) + '\t')
+ sys.stdout.write('\n')
+
+
diff --git a/4r_hash_hist b/4r_hash_hist
new file mode 100755
index 0000000..9878af4
--- /dev/null
+++ b/4r_hash_hist
@@ -0,0 +1,4 @@
+#!/bin/sh -e
+
+set -o pipefail
+cut -f1 | sort --parallel=8 --buffer-size=${MEM:-1G} --compress-program=gzip | uniq -c | sort -rn \ No newline at end of file
diff --git a/4r_trans_hist b/4r_trans_hist
new file mode 100644
index 0000000..82b0e6b
--- /dev/null
+++ b/4r_trans_hist
@@ -0,0 +1,4 @@
+#!/bin/sh -e
+
+set -o pipefail
+cut -f1,2 | sort --parallel=8 --buffer-size=${MEM:-1G} --compress-program=gzip | uniq -c | sort -rn
contact: Jan Huwald // Impressum