Skip to content
Snippets Groups Projects
Commit a52b0795 authored by Christof Kaufmann's avatar Christof Kaufmann
Browse files

doc: Improve README.md formatting

parent 8beabc1d
Branches
No related tags found
No related merge requests found
...@@ -7,19 +7,21 @@ It is written in C++, but there are interfaces for R (planned via CRAN) and for ...@@ -7,19 +7,21 @@ It is written in C++, but there are interfaces for R (planned via CRAN) and for
A more detailed description about the library can be found in the API documentation. There is also a tutorial about the basic usage. Please have a look. See below for how to make the documentation. A more detailed description about the library can be found in the API documentation. There is also a tutorial about the basic usage. Please have a look. See below for how to make the documentation.
## Build ## Build
Note: This repository uses submodules, so clone with: Note: This repository uses submodules, so clone with:
```bash
git clone --recurse-submodules URL git clone --recurse-submodules URL
# or in two separate steps: # or in two separate steps:
git clone URL git clone URL
cd imagefusion cd imagefusion
git submodule update --init --recursive git submodule update --init --recursive
```
This project uses CMake as build system and should work on Windows, Linux and Mac. In order to compile the library you need a compatible compiler like gcc or clang (Boost did not support clang on Windows some time ago), which supports C++17. Then you need some dependencies: This project uses CMake as build system and should work on Windows, Linux and Mac. In order to compile the library you need a compatible compiler like gcc or clang (Boost did not support clang on Windows some time ago), which supports C++17. Then you need some dependencies:
* OpenCV * OpenCV
* GDAL * GDAL
* Boost (Exception, ICL, Iterator, Tokenizer) * Boost (Exception, ICL, Iterator, Tokenizer)
...@@ -28,6 +30,7 @@ This project uses CMake as build system and should work on Windows, Linux and Ma ...@@ -28,6 +30,7 @@ This project uses CMake as build system and should work on Windows, Linux and Ma
* Boost Unit Test Framework (optional, only for test configuration) * Boost Unit Test Framework (optional, only for test configuration)
For the documentation you need: For the documentation you need:
* doxygen * doxygen
* graphwiz (for dot diagrams) * graphwiz (for dot diagrams)
* dia (for dia diagrams) * dia (for dia diagrams)
...@@ -38,106 +41,150 @@ For the documentation you need: ...@@ -38,106 +41,150 @@ For the documentation you need:
Independent of the platform, you can build and install imagefusion using conda-build. The dependencies are all available as conda packages on conda-forge and will be installed automatically. Independent of the platform, you can build and install imagefusion using conda-build. The dependencies are all available as conda packages on conda-forge and will be installed automatically.
$ conda update conda ```bash
conda update conda
```
Install the build tool in your `base` environment: Install the build tool in your `base` environment:
$ conda install conda-build conda-verify ```bash
conda install conda-build conda-verify
```
Then go to the directory containing the conda recipe Then go to the directory containing the conda recipe
$ cd python/conda.recipe ```bash
cd python/conda.recipe
```
Build the package using conda-forge dependencies. Either add the conda-forge channel permanently, as recommended [here](https://conda-forge.org/docs/user/introduction.html#how-can-i-install-packages-from-conda-forge): Build the package using conda-forge dependencies. Either add the conda-forge channel permanently, as recommended [here](https://conda-forge.org/docs/user/introduction.html#how-can-i-install-packages-from-conda-forge):
$ conda config --add channels conda-forge ```bash
$ conda config --set channel_priority strict conda config --add channels conda-forge
$ conda build . conda config --set channel_priority strict
conda build .
```
However, this might lead to issues later on with other packages. So you can also choose conda-forge channel only for building: However, this might lead to issues later on with other packages. So you can also choose conda-forge channel only for building:
$ conda build -c conda-forge . ```bash
conda build -c conda-forge .
```
This takes a while. When it is finished, you can install it into a new environment (`--use-local` and `-c local` do not work, currently, see: [conda/conda/7758](https://github.com/conda/conda/issues/7758) [conda/conda/7024](https://github.com/conda/conda/issues/7024)): This takes a while. When it is finished, you can install it into a new environment (`--use-local` and `-c local` do not work, currently, see: [conda/conda/7758](https://github.com/conda/conda/issues/7758) [conda/conda/7024](https://github.com/conda/conda/issues/7024)):
$ conda create --name imfu -c conda-forge -c ${CONDA_PREFIX}/conda-bld/ imagefusion # [linux or osx] ```bash
$ conda create --name imfu -c conda-forge -c %CONDA_PREFIX%/conda-bld/ imagefusion # [win] conda create --name imfu -c conda-forge -c ${CONDA_PREFIX}/conda-bld/ imagefusion # [linux or osx]
$ conda activate imfu conda create --name imfu -c conda-forge -c %CONDA_PREFIX%/conda-bld/ imagefusion # [win]
conda activate imfu
```
Or install it into the currently active environment: Or install it into the currently active environment:
$ conda install -c conda-forge -c ${CONDA_PREFIX}/conda-bld/ imagefusion # [linux or osx] ```bash
$ conda install -c conda-forge -c %CONDA_PREFIX%/conda-bld/ imagefusion # [win] conda install -c conda-forge -c ${CONDA_PREFIX}/conda-bld/ imagefusion # [linux or osx]
conda install -c conda-forge -c %CONDA_PREFIX%/conda-bld/ imagefusion # [win]
```
Or to reinstall: Or to reinstall:
$ conda install -c ${CONDA_PREFIX}/conda-bld/ --force-reinstall imagefusion-python imagefusion-utils libimagefusion # [linux or osx] ```bash
$ conda install -c %CONDA_PREFIX%/conda-bld/ --force-reinstall imagefusion-python imagefusion-utils libimagefusion # [win] conda install -c ${CONDA_PREFIX}/conda-bld/ --force-reinstall imagefusion-python imagefusion-utils libimagefusion # [linux or osx]
conda install -c %CONDA_PREFIX%/conda-bld/ --force-reinstall imagefusion-python imagefusion-utils libimagefusion # [win]
```
Now everything is there; utilities like `starfm`, the library, a CMake file to import the library in a C++ project and, most importantly, the python interface. Try it! Let's import the python interface: Now everything is there; utilities like `starfm`, the library, a CMake file to import the library in a C++ project and, most importantly, the python interface. Try it! Let's import the python interface:
```bash
(imfu) $ cd ../examples # go to python/examples (imfu) $ cd ../examples # go to python/examples
(imfu) $ python starfm-example.py # or execute another example (imfu) $ python starfm-example.py # or execute another example
```
Or execute a binary utility: Or execute a binary utility:
```bash
(imfu) $ starfm --help (imfu) $ starfm --help
```
### Linux ### Linux
Ubuntu (20.04) and Debian (Buster) are supported, others should work with similar packages. Building in Linux is very easy. Assuming Ubuntu, install the build dependencies with Ubuntu (20.04) and Debian (Buster) are supported, others should work with similar packages. Building in Linux is very easy. Assuming Ubuntu, install the build dependencies with
$ sudo apt install cmake g++ make libopencv-dev libgdal-dev libboost-all-dev libarmadillo-dev libopenblas-base libgomp1 ```bash
sudo apt install cmake g++ make libopencv-dev libgdal-dev libboost-all-dev libarmadillo-dev libopenblas-base libgomp1
# if you want to build with clang++ install these (optional, you would also have to set it as default compiler afterwards): # if you want to build with clang++ install these (optional, you would also have to set it as default compiler afterwards):
$ sudo apt install clang libomp-dev sudo apt install clang libomp-dev
```
and, optionally, the documentation dependencies with and, optionally, the documentation dependencies with
$ sudo apt install doxygen graphviz dia texlive-full ```bash
sudo apt install doxygen graphviz dia texlive-full
```
Now go to the folder where this readme is located. Then do the following Now go to the folder where this readme is located. Then do the following
$ mkdir build ```bash
$ cd build mkdir build
$ cmake .. cd build
$ make all -j 4 # -j 4 means 4 compiler jobs in parallel cmake ..
make all -j 4 # -j 4 means 4 compiler jobs in parallel
```
which will build the library in `lib/` and the utilities in `bin/`. For installation you can either install it directly or make a debian package. For direct installation use which will build the library in `lib/` and the utilities in `bin/`. For installation you can either install it directly or make a debian package. For direct installation use
$ sudo make install ```bash
sudo make install
# or when you are logged in as root with `su -` or `sudo -i` just: # or when you are logged in as root with `su -` or `sudo -i` just:
$ make install make install
```
The default install path is `/usr/local`, which is the correct one for self compiled software. The `all` target includes the python interface, which gets installed to `/usr/local/lib/python3/dist-packages/imagefusion/` by default when using the python from the linux distribution. To change the install path e. g. to `~/.local` for a user installation use The default install path is `/usr/local`, which is the correct one for self compiled software. The `all` target includes the python interface, which gets installed to `/usr/local/lib/python3/dist-packages/imagefusion/` by default when using the python from the linux distribution. To change the install path e. g. to `~/.local` for a user installation use
$ cmake -DCMAKE_INSTALL_PREFIX:PATH=$HOME/.local .. ```bash
$ make install cmake -DCMAKE_INSTALL_PREFIX:PATH=$HOME/.local ..
make install
```
or whatever you prefer as user install path. This does usually just work (it will install `libimagefusion.so` to `~/.local/lib` and let the binaries find that library; you do *not* need to change `LD_LIBRARY_PATH` for the imagefusion binaries). You might want to add the local path `~/.local/bin` in your profile file `~/.profile` and source it with `source ~/.profile`. or whatever you prefer as user install path. This does usually just work (it will install `libimagefusion.so` to `~/.local/lib` and let the binaries find that library; you do *not* need to change `LD_LIBRARY_PATH` for the imagefusion binaries). You might want to add the local path `~/.local/bin` in your profile file `~/.profile` and source it with `source ~/.profile`.
You can also make a debian package. To make and install use You can also make a debian package. To make and install use
$ make package ```bash
$ sudo apt install ./imagefusion*.deb make package
sudo apt install ./imagefusion*.deb
```
To build and execute the tests, use To build and execute the tests, use
$ make testimagefusion ```bash
$ ./testimagefusion make testimagefusion
./testimagefusion
```
To build the documentation (open with `doc/doc.html` in the source directory, not the build directory), use one of the following: To build the documentation (open with `doc/doc.html` in the source directory, not the build directory), use one of the following:
$ make doc ```bash
make doc
# or for devs: # or for devs:
$ make docinternal make docinternal
```
#### Python interface #### Python interface
The `sudo make install` should already install the python interface in `/usr/local/lib/python3/dist-packages/imagefusion/`. With conda the requirements are easier to handle, because they are available as conda packages. For installing imagefusion with conda, see [conda build](#conda). You can also try pip: The `sudo make install` should already install the python interface in `/usr/local/lib/python3/dist-packages/imagefusion/`. With conda the requirements are easier to handle, because they are available as conda packages. For installing imagefusion with conda, see [conda build](#conda). You can also try pip:
```bash
cd imagefusion # make sure you are in the repository directory cd imagefusion # make sure you are in the repository directory
pip install . # or: pip3 if you use the pip version from the linux distribution pip install . # or: pip3 if you use the pip version from the linux distribution
```
After installation you might want to test the python installation (note, conda build automatically does this during building): After installation you might want to test the python installation (note, conda build automatically does this during building):
```bash
# in the repository directory: # in the repository directory:
python -m unittest discover -s tests/ -p "*_test.py" python -m unittest discover -s tests/ -p "*_test.py"
```
#### Troubleshooting #### Troubleshooting
...@@ -146,19 +193,23 @@ After installation you might want to test the python installation (note, conda b ...@@ -146,19 +193,23 @@ After installation you might want to test the python installation (note, conda b
* Check whether the `*-dev` and normal version of the libraries are installed (see above) * Check whether the `*-dev` and normal version of the libraries are installed (see above)
* If there is a multi-user installation of Anaconda or Miniconda (e. g. in `/opt`), the GDAL CMake file might find the library shipped with the python package instead of the one installed with the package mangager (e. g. apt). To sort this out remove the `gdal` package (or maybe the `opencv` package, if that causes problems) as root user from the base environment: * If there is a multi-user installation of Anaconda or Miniconda (e. g. in `/opt`), the GDAL CMake file might find the library shipped with the python package instead of the one installed with the package mangager (e. g. apt). To sort this out remove the `gdal` package (or maybe the `opencv` package, if that causes problems) as root user from the base environment:
```bash
conda activate
conda remove gdal
conda deactivate
``` ```
# conda activate
(base) # conda remove gdal
# conda deactivate
```
Then as normal user create a new environment where you install the required packages: Then as normal user create a new environment where you install the required packages:
```bash
conda create -n imagefusion gdal rios python-fmask rasterio matplotlib pandas
conda activate imagefusion
``` ```
$ conda create -n imagefusion gdal rios python-fmask rasterio matplotlib pandas
$ conda activate imagefusion
```
Alternatively, as a quickfix, prepend the `cmake` command with the GDAL search path, e. g.: Alternatively, as a quickfix, prepend the `cmake` command with the GDAL search path, e. g.:
```
$ GDAL_DIR=/usr cmake .. ```bash
GDAL_DIR=/usr cmake ..
``` ```
* *ModuleNotFoundError: No module named 'apt_pkg'* during cmake run * *ModuleNotFoundError: No module named 'apt_pkg'* during cmake run
...@@ -169,24 +220,33 @@ After installation you might want to test the python installation (note, conda b ...@@ -169,24 +220,33 @@ After installation you might want to test the python installation (note, conda b
You probably cloned the repository with `git clone URL`, which does not fetch the submodules. After cloning you can fetch them with: You probably cloned the repository with `git clone URL`, which does not fetch the submodules. After cloning you can fetch them with:
```bash
git submodule update --init --recursive git submodule update --init --recursive
```
### MacOS ### MacOS
This should work similar to Linux. However, MacOS is lacking a package manager, so if you do not have it yet, install Homebrew now: This should work similar to Linux. However, MacOS is lacking a package manager, so if you do not have it yet, install Homebrew now:
% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```
Then install the dependencies: Then install the dependencies:
% brew install cmake opencv armadillo gdal boost libomp ```bash
brew install cmake opencv armadillo gdal boost libomp
```
Now go to the folder where this readme is located. Then do the following Now go to the folder where this readme is located. Then do the following
% mkdir build ```bash
% cd build mkdir build
% cmake .. cd build
% make starfm estarfm staarch -j 4 # select the targets you want, imfupython might not work yet cmake ..
make starfm estarfm staarch -j 4 # select the targets you want, imfupython might not work yet
```
which will build the library as `lib/libimagefusion.dylib` and the utilities as `bin/starfm`, `bin/estarfm` and `bin/staarch`. which will build the library as `lib/libimagefusion.dylib` and the utilities as `bin/starfm`, `bin/estarfm` and `bin/staarch`.
The build on macOS is barely tested. The build on macOS is barely tested.
...@@ -195,16 +255,23 @@ The build on macOS is barely tested. ...@@ -195,16 +255,23 @@ The build on macOS is barely tested.
Multiple ways are possible. We suggest to use MSYS2, which basically allows to use a Linux way of installing. Assuming a 64 bit system, download MSYS2 64 bit from https://msys2.github.io/ and install it to the default folder (`C:\msys64`). First we will update pacman and install a compiler (MinGW). Start MSYS2 MSYS and execute: Multiple ways are possible. We suggest to use MSYS2, which basically allows to use a Linux way of installing. Assuming a 64 bit system, download MSYS2 64 bit from https://msys2.github.io/ and install it to the default folder (`C:\msys64`). First we will update pacman and install a compiler (MinGW). Start MSYS2 MSYS and execute:
$ pacman -Syu ```bash
pacman -Syu
```
Close MSYS2 and start it again. Execute: Close MSYS2 and start it again. Execute:
$ pacman -Su ```bash
$ pacman -S mingw-w64-x86_64-gcc pacman -Su
pacman -S mingw-w64-x86_64-gcc
```
Close MSYS2. Close MSYS2.
Next, we install all the dependencies. Start MSYS2 MSYS again and execute: Next, we install all the dependencies. Start MSYS2 MSYS again and execute:
$ pacman -S mingw64/mingw-w64-x86_64-cmake \ ```bash
pacman -S mingw64/mingw-w64-x86_64-cmake \
mingw64/mingw-w64-x86_64-extra-cmake-modules \ mingw64/mingw-w64-x86_64-extra-cmake-modules \
mingw64/mingw-w64-x86_64-make \ mingw64/mingw-w64-x86_64-make \
msys/make \ msys/make \
...@@ -217,6 +284,7 @@ Next, we install all the dependencies. Start MSYS2 MSYS again and execute: ...@@ -217,6 +284,7 @@ Next, we install all the dependencies. Start MSYS2 MSYS again and execute:
mingw64/mingw-w64-x86_64-arpack \ mingw64/mingw-w64-x86_64-arpack \
mingw64/mingw-w64-x86_64-curl \ mingw64/mingw-w64-x86_64-curl \
mingw64/mingw-w64-x86_64-proj mingw64/mingw-w64-x86_64-proj
```
The above command will install cmake and all the other external dependent libraries. After the installation of the dependent libraries the imagefusion framework can be compiled and built. The above command will install cmake and all the other external dependent libraries. After the installation of the dependent libraries the imagefusion framework can be compiled and built.
Before we start compiling and building the imagefusion framework, the following paths must be added to the user variables as well as the environment variable `PATH`. Before we start compiling and building the imagefusion framework, the following paths must be added to the user variables as well as the environment variable `PATH`.
...@@ -228,7 +296,6 @@ User variables: ...@@ -228,7 +296,6 @@ User variables:
| GDAL_DATA | C:\msys64\mingw64\share\gdal | GDAL_DATA | C:\msys64\mingw64\share\gdal
| GDAL_LIBRARY | C:\msys64\mingw64\bin | GDAL_LIBRARY | C:\msys64\mingw64\bin
System Variables: Place these locations at the start of the values. System Variables: Place these locations at the start of the values.
1. C:\msys64\mingw64\bin 1. C:\msys64\mingw64\bin
...@@ -240,10 +307,12 @@ Once the above paths are added properly, the imagefusion framework is now ready ...@@ -240,10 +307,12 @@ Once the above paths are added properly, the imagefusion framework is now ready
To compile the imagefusion framework open Windows command prompt and navigate to the imagefusion directory and execute the following commands, To compile the imagefusion framework open Windows command prompt and navigate to the imagefusion directory and execute the following commands,
> mkdir build ```cmd
> cd build mkdir build
> cmake -G “MSYS Makefiles” .. cd build
> make all cmake -G “MSYS Makefiles” ..
make all
```
The execution of the above commands will compile and build the imagefusion framework. This will result in a bin directory which contains the `libimagefusion.dll` file along with other utilities as `.exe` files which are built using the imagefusion library. The execution of the above commands will compile and build the imagefusion framework. This will result in a bin directory which contains the `libimagefusion.dll` file along with other utilities as `.exe` files which are built using the imagefusion library.
This includes different data fusion utilities, cloud masking and interpolation utility, image crop and image compare utilities. The utilities and the `libimagefusion.dll` will be available in the `bin` folder. The utilities can be executed directly from command prompt using the appropriate options (`HELP`available with every utility). This includes different data fusion utilities, cloud masking and interpolation utility, image crop and image compare utilities. The utilities and the `libimagefusion.dll` will be available in the `bin` folder. The utilities can be executed directly from command prompt using the appropriate options (`HELP`available with every utility).
...@@ -254,29 +323,32 @@ To compile the documentation following applications / tools / software are requi ...@@ -254,29 +323,32 @@ To compile the documentation following applications / tools / software are requi
1. *Dia*: 1. *Dia*:
Tool to generate diagrams in the API documentation. Tool to generate diagrams in the API documentation.
Available in (http://dia-installer.de/) Available in http://dia-installer.de/
2. *Graphviz*: 2. *Graphviz*:
Tool to generate graphs in the API documentation. Tool to generate graphs in the API documentation.
Available in (https://www.graphviz.org/Download_windows.php) Available in https://www.graphviz.org/Download_windows.php
3. *Ghostscript*: 3. *Ghostscript*:
Tool to generate pdf in the API documentation. Tool to generate pdf in the API documentation.
Available in (https://www.ghostscript.com/download/gsdnld.html) Available in https://www.ghostscript.com/download/gsdnld.html
4. *Doxygen*: 4. *Doxygen*:
Tool to generate the API documentation. Tool to generate the API documentation.
Available in (https://www.doxygen.nl/download.html#srcbin) Available in https://www.doxygen.nl/download.html#srcbin
5. *MikTeX*: 5. *MikTeX*:
Tool to compile latex files. Tool to compile latex files.
Available in (https://miktex.org/download) Available in https://miktex.org/download
After installing all the above mentioned applications / tools / software, their respective paths should be added to the environment variable `PATH`. After installing all the above mentioned applications / tools / software, their respective paths should be added to the environment variable `PATH`.
Now the documentation can be compiled by simply executing the following command in the windows command prompt with the current directory as build. Now the documentation can be compiled by simply executing the following command in the *windows command prompt* with the current directory as build.
> make doc ```cmd
make doc
```
Executing this command will create a doc directory in the main imagefusion directory along with a `doc.html` file. Opening this file will take you to the main index page of the documentation. Executing this command will create a doc directory in the main imagefusion directory along with a `doc.html` file. Opening this file will take you to the main index page of the documentation.
#### Packaging #### Packaging
The cmake file of imagefusion framework also has commands to generate windows installer package for easy distribution of the imagefusion framework along with the implemented data fusion algorithms, remote sensing utilities, header files and documentation. This will enable the users to use the imagefusion framework without the need to install many tools and prepare an environment suitable for building and compiling the imagefusion framework. The cmake file of imagefusion framework also has commands to generate windows installer package for easy distribution of the imagefusion framework along with the implemented data fusion algorithms, remote sensing utilities, header files and documentation. This will enable the users to use the imagefusion framework without the need to install many tools and prepare an environment suitable for building and compiling the imagefusion framework.
In order to perform the packaging and generate a “.msi” Microsoft installer file, the following tool is required. In order to perform the packaging and generate a “.msi” Microsoft installer file, the following tool is required.
...@@ -292,9 +364,11 @@ System variable: ...@@ -292,9 +364,11 @@ System variable:
| -------- | ----------------------------------------- | -------- | -----------------------------------------
| WIX | C:\Program Files (x86)\WiX Toolset v3.10\ | WIX | C:\Program Files (x86)\WiX Toolset v3.10\
Now we are ready to make the imagefusion framework package. The package can be generated by executing the following command from the windows command prompt as `build` as the current directory. Now we are ready to make the imagefusion framework package. The package can be generated by executing the following command from the *windows command prompt* as `build` as the current directory.
> make package ```cmd
dir make package
```
Executing the above command will result in the creation of `Imagefusion Framework-0.0.1-win64.msi`. Executing the above command will result in the creation of `Imagefusion Framework-0.0.1-win64.msi`.
Now you have a Windows installer, which you can execute to install the library and the utilities. This also works on other computers, since it includes all runtime dependencies. Now you have a Windows installer, which you can execute to install the library and the utilities. This also works on other computers, since it includes all runtime dependencies.
...@@ -305,17 +379,22 @@ The cmake file of the imagefusion framework is also provided with test configura ...@@ -305,17 +379,22 @@ The cmake file of the imagefusion framework is also provided with test configura
This configuration will prepare and build all the test methods associated with the imagefusion framework to test all the functionalities. This configuration will prepare and build all the test methods associated with the imagefusion framework to test all the functionalities.
The test functions can be build by simply executing the following command. The test functions can be build by simply executing the following command.
> make testimagefusion ```cmd
make testimagefusion
```
This will build all the test fucntions into an exe file called `testimagefusion.exe`. This will build all the test functions into an exe file called `testimagefusion.exe`.
> testimagefusion ```cmd
testimagefusion
```
Simply execute the `testimagefusion.exe` file to run all the test functions. Simply execute the `testimagefusion.exe` file to run all the test functions.
Note that at the time of writing the MSYS2 version of GDAL, which is used to read images, does not support images in the format HDF 4, but in HDF 5. This is bad, since MODIS images are in HDF 4 and it is incompatible to HDF 5. There is a utility to convert HDF 4 images to HDF 5 images ([doc](https://support.hdfgroup.org/products/hdf5_tools/h4toh5/) / [download](https://support.hdfgroup.org/ftp/HDF5/releases/tools/h4toh5/)), which might help. Note that at the time of writing the MSYS2 version of GDAL, which is used to read images, does not support images in the format HDF 4, but in HDF 5. This is bad, since MODIS images are in HDF 4 and it is incompatible to HDF 5. There is a utility to convert HDF 4 images to HDF 5 images ([doc](https://support.hdfgroup.org/products/hdf5_tools/h4toh5/) / [download](https://support.hdfgroup.org/ftp/HDF5/releases/tools/h4toh5/)), which might help.
#### Troubleshooting #### Troubleshooting
(Only applicable if the imagefusion framework library and other utilities are build from source) (Only applicable if the imagefusion framework library and other utilities are build from source)
After compilation if the imagefusion framework does not compile or run properly. This might be due to some issues with the dependent libraries. After compilation if the imagefusion framework does not compile or run properly. This might be due to some issues with the dependent libraries.
...@@ -331,25 +410,32 @@ If it is not available then the execution of the utility will throw an error sta ...@@ -331,25 +410,32 @@ If it is not available then the execution of the utility will throw an error sta
The below command shows how to search for a particular package and to install the package. The below command shows how to search for a particular package and to install the package.
$ pacman -Ss arpack ```bash
pacman -Ss arpack
```
Executing the above command in MSYS2 MSYS will search for arpack package and show the results. The result will look like: Executing the above command in MSYS2 MSYS will search for arpack package and show the results. The result will look like:
```output
mingw32/mingw-w64-i686-arpack 3.5.0-1 mingw32/mingw-w64-i686-arpack 3.5.0-1
Fortran77 subroutines designed to solve large scale eigenvalue problems Fortran77 subroutines designed to solve large scale eigenvalue problems
(mingw-w64) (mingw-w64)
mingw64/mingw-w64-x86_64-arpack 3.5.0-1 mingw64/mingw-w64-x86_64-arpack 3.5.0-1
Fortran77 subroutines designed to solve large scale eigenvalue problems Fortran77 subroutines designed to solve large scale eigenvalue problems
(mingw-w64) (mingw-w64)
```
Two versions of arpack packages are available. Based on the user preference, the user can install either of the versions by simply executing the following command. Two versions of arpack packages are available. Based on the user preference, the user can install either of the versions by simply executing the following command.
```bash
# For 64 bit version # For 64 bit version
$ pacman -S mingw64/mingw-w64-x86_64-arpack pacman -S mingw64/mingw-w64-x86_64-arpack
```
```bash
# For 32 bit version # For 32 bit version
$ pacman -S mingw32/mingw-w64-i686-arpack pacman -S mingw32/mingw-w64-i686-arpack
```
The above instruction holds valid for any issues arising due to missing packages. The above instruction holds valid for any issues arising due to missing packages.
...@@ -360,12 +446,14 @@ If you like to contribute to the project, we recommend you the following IDEs ...@@ -360,12 +446,14 @@ If you like to contribute to the project, we recommend you the following IDEs
* QT Creator: Just open the `CMakeLists.txt` as project file. QT Creator can be installed on Windows with MSYS2 on linux from the repositories. * QT Creator: Just open the `CMakeLists.txt` as project file. QT Creator can be installed on Windows with MSYS2 on linux from the repositories.
* Eclipse: Download from eclipse.org the package "Eclipse IDE for C/C++ Developers" and install or run. Then generate eclipse project files: * Eclipse: Download from eclipse.org the package "Eclipse IDE for C/C++ Developers" and install or run. Then generate eclipse project files:
$ cd .. ```bash
$ mkdir imagefusion-eclipse cd ..
$ cd imagefusion-eclipse mkdir imagefusion-eclipse
$ cmake ../imagefusion -G"Eclipse CDT4 - Unix Makefiles" cd imagefusion-eclipse
These steps work similarly with the CMake-GUI in Windows. Now you have `.cproject` and `.project` files, which you can import with eclipse. cmake ../imagefusion -G"Eclipse CDT4 - Unix Makefiles"
```
These steps work similarly with the CMake-GUI in Windows. Now you have `.cproject` and `.project` files, which you can import with eclipse.
## License ## License
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment