aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Fadel <samuelfadel@gmail.com>2016-03-10 09:59:46 -0300
committerSamuel Fadel <samuelfadel@gmail.com>2016-03-10 09:59:46 -0300
commitbef8b6c9be701eb1c3dde9d80f24729b88c9aaca (patch)
tree85506b8461ef458f75671621f76f0faf5f97f81d
parentf8b8dbafc04ae27b1a230cfb760e94f0bc38e4ea (diff)
Added README.
-rw-r--r--README.md57
1 files changed, 57 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..5439d67
--- /dev/null
+++ b/README.md
@@ -0,0 +1,57 @@
+Interactive multidimensional projections.
+
+# Prerequisites
+In order to build, this program depends on the following libraries:
+
+* Qt 5 (Qt5Widgets, Qt5Qml, Qt5Quick)
+* Armadillo 6.x.x (might work with older versions)
+* CUDA 7.5 (high chance of working with older versions)
+* CMake 2.8.12 (or newer)
+
+CMake *should* automatically find all the mentioned libraries under normal
+circumstances (not Windows).
+
+## Windows
+On Windows, Armadillo should be installed in `C:\Program Files (x86)\Armadillo`.
+Also remember to build `armadillo.lib` instead of the default `armadillo.dll`.
+
+# Building
+Assuming the current directory is the source folder:
+
+ mkdir build
+ cd build
+ cmake ..
+ make
+
+For faster builds, you can use `make -j NUM_CORES`.
+
+# Usage
+This program needs a CUDA-enabled GPU (not necessarily powerful) to run.
+
+ ./pm [options] dataset
+
+## Options
+
+Option | Description
+-------------------------| --------------------------------------------------------------------------------------------
+-h, --help | Displays this help.
+-v, --version | Displays version information.
+-i, --indices <filename> | Filename to store the control points' indices. Omitting this option disables saving indices.
+-c, --cpoints <filename> | Filename to store the control points' map. Omitting this option disables saving this map.
+
+Argument | Description
+---------|-----------------------------
+dataset | Dataset filename (.tbl file)
+
+# File formats
+An **indices file** should be a file where each line contains an index (starting
+from zero) and nothing else. Each index will be considered a control point, in
+the context of the given dataset file.
+
+A **CP map file** should be a two-column file where each line contains the 2D
+coordinates of each control point (according to the indices file) and nothing
+else. Note that the number of lines of this file and the indices file are
+supposed to be the same.
+
+**Dataset files** are the same as CP map files, except they are allowed to have
+any number of columns (the same number of columns in each line, though).