You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+35-23Lines changed: 35 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
N-Dimensional Fast Marching Method V1.0
2
2
3
3
**Authors:**
4
-
-[Javier V. Gomez](http://jvgomez.github.io) javvgomez _at_ gmail.com
4
+
-[Javier V. Gomez](http://jvgomez.github.io) javvgomez _at_ gmail.com
5
5
- Jose Pardeiro jose.pardeiro _at_ gmail.com
6
6
- Pablo Gely
7
7
@@ -62,30 +62,26 @@ Go into the HTML folder and open index.html
62
62
63
63
This code uses C\++11 so a compiler g++ 4.8 or equivalent is required. With GCC 4.7 some runtime problems can occur.
64
64
65
-
### Linking CImg dependencies.
66
-
If you want to compile code that uses the CImg library, you will need to add the following line to the CMakeLists.txt
65
+
Additional dependencies: Boost, imagemafick and CImg.
67
66
68
-
target_link_libraries (fmm X11 pthread)
69
-
70
-
The code provides a copy of the CImg library. This will take care of loading and savig images. Depending on the extension used, you will need to install another libraries as said in the main page of CImg: http://cimg.sourceforge.net/
71
-
72
-
The example code uses png, therefore examples of libraries to be installed are libpng, Magick++, ImageMagick, etc.
73
-
74
-
### Boost dependencies
75
-
When using Ubuntu, you should install Boost libraries (tested with 1.55+):
This main shows most of the utilities implemented so far.
88
79
80
+
To uninstall:
81
+
82
+
$ sudo make uninstall
83
+
84
+
89
85
## Folder structure
90
86
91
87
Although there are a lot of folders, they are quite simple. It is organized this way because I'm focusing on an upload to Biicode (www.biicode.com)
@@ -105,34 +101,50 @@ Although there are a lot of folders, they are quite simple. It is organized this
105
101
+ scripts: matlab scripts to parse outputs and automatic benchmarking bash script.
106
102
+ thirdparty: others' software included.
107
103
104
+
### Installation
105
+
Default installation folder is` /usr/local` for Linux distributions (or equivalent on other OS). Libraries are installed in subfolder `lib`, together with CMake modules. All the includes are installed under `include` subfolder. Additionally, in the `share` subfolder the helper scripts and some samples of benchmark configurations files are installed. Finally, the benchmark binary is installed in `bin`.
106
+
107
+
In order to change the default installation folder you can do:
- MapLoader, GridWriter... get a naming convention. MapReader or GridSaver for instance.
119
-
- Improve untidy queue implementation with hash maps (specially remove element in increase_priority()).
120
-
- Upload as a unique biicode block.
121
127
- printRunInfo implementation missing for most of the solvers.
122
128
- Unify GridWriter and GridPlotter functions parameter order: (grid, name)
123
-
- Review and update nDGridMap.pdf
124
129
- Fix Doxygen warnings.
125
130
- Convert all scripts to python (or similar) so that they keep completely open source.
126
-
- Improve the way FM2 and its versions deal with the grid when running multiple times on the same grid. Concretely, avoid recomputation of velocities map.
127
131
- Reimplement FM2Dir from scratch. Currently in data/alpha folder.
128
-
- Restructure the folder and the CMake files in order to properly have examples and that stuff.
- Implement a grid copy constructor and assignment operator, etc.
132
134
- Most of the unsigned int should be replaced by size_t to be type-correct.
133
135
- Use smart pointers (specially for grid).
134
136
- Create a testing framework.
135
137
- BenchmarkCFG::configure, parse ctorParams_ with a variadic templated function, something like:` parseParams<int, bool>(param1, param2)`, `parseParams<string,double,bool>(p1,p2,p3)`.
136
-
- For most methods, neighbors for same cell are computed many times. Store them like FMT to save some computation time.
137
138
- GridPlotter code can be refactorized so that the same code is not repeated many times.
138
139
- Review template template parameters, perhaps it can be simplified (specially for benchmark): `template <grid_t>` to `template <nDGridMap <cell_t, ndims>>` so we can use cell_t without doing `template <grid_t, cell_t>` (redundant).
140
+
- Unify names: one thing is Fast Methods, other Fast Marching, etc.
141
+
142
+
### Algorithmic TODOs
143
+
- Improve untidy queue implementation with hash maps (specially remove element in increase_priority()).
144
+
- Mix SFMM and UFMM (researchy TODO).
145
+
- Improve the way FM2 and its versions deal with the grid when running multiple times on the same grid. Concretely, avoid recomputation of velocities map.
146
+
- For most methods, neighbors for same cell are computed many times. Store them like FMT to save some computation time.
0 commit comments