forked from tvwerkhoven/libunwrap
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ARCHITECTURE
47 lines (28 loc) · 1.13 KB
/
ARCHITECTURE
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
libunwrap architecture
======================
libunwrap is a C library for unwrapping phase, with bindings in Octave and Python (NumPy). This document gives an overview of the hierarchy of the code.
C code
======
* Name: libunwrap
* Hierarchy
c/ -- C library root, includes configure and make files
c/src/ -- stand-alone C unwrapping program (optional)
c/unwrap/ -- main unwrap routines
* Build process
The C program can be built with autoconf / automake using configure.ac and Makefile.am's
Octave code
===========
* Name: unwrap.m?
* Hierarchy
octave/ -- Octave code root
* Build process
Custom Makefile
Python code
===========
* Name: unwrap.py
* Hierarchy
python/ -- Python root, include NumPy setup.py and other administrative files
python/unwrap-c/ -- Python wrapper for libunwrap, written in C with NumPy extension
python/unwrap/ -- pure Python unwrap library, wrapping unwrap-c
* Build process
The Python package is built using numpy.distutils, see setup.py for details. The ingredients for this are the C routines listed previously and the two Python wrappers (located in unwrap-c and unwrap) written in C and Python respectively.