aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 5439d67b0eb5cd07f5a40248dbceccfe5cefa745 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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).