### Error messages and bugs

#### I get an error message when calling `dip_initialise`.

This usually indicates an erroneous installation. Please read the DIP*image* User Manual for installation instructions.

#### I have found a bug. What do I do?

First make sure you have the latest version of DIP*image* by downloading and installing it again. If the bug persists in this latest version, please let us know. We are very interested in finding and fixing bugs. We cannot, however, immediately provide you with a fixed version.

When communicating bugs to us, please include the version number of DIP*lib* and the release date (you will find these as a response to the `dip_initialise` or `dip_getlibraryinformation` commands. We need a sequence of commands that will reproduce the bug. Please do not send us your images, just describe them by giving the data type and size. This information is obtained by typing `disp(a)`, assuming `a` is your image. You can send your information to: bug@diplib.org

#### I cannot use DIP*image* with the Parallel Computing Toolbox!

(This is only applicable to the Windows version) Initialise DIP*lib* using

`dip_initialise('nopathenv')`

For this to work, you need to set the PATH environment variable before starting MATLAB. See the DIP*image* User Manual for instructions.

### Usage

#### In order to make full use of DIP*image*, what components of MATLAB are necessary?

Just MATLAB itself. No other toolboxes nor the MATLAB compiler are required.

#### How do I solve this image-processing problem?

We do not have the time to help you solve your problems. Please turn to these sources instead:

- Fundamentals of Image Processing
- B. Jahne, "Digital Image Processing", Springer, 1996.
- A.K. Jain, "Fundamentals of Digital Image Processing", Prentice Hall, 1989.
- K.R. Castleman, "Digital Image Processing", Prentice Hall, 1996.

We hope you understand our considerations and wish you success with our software.

#### How do I use a DIP*image* image object with an Image Processing Toolbox function?

The function `dip_array(im)` will extract the MATLAB array from within the `dip_image` object `im`.

You can directly use MATLAB arrays in the DIP*image* toolbox functions.

#### Can I have the source code?

No, we do not distribute source code.

#### How do I integrate my C code into DIP*image*?

See MEX-file programming with DIP*image*.

#### What is the maximum size of an image (row X column) that DIP*image* can read and process?

There are no limits in DIP*lib* (the C library), except for the architecture limits of your system. Under Windows, there is 2Gb available for an application, which means that you can have up to two-thousand-million pixels in total in the image.

DIP*image*, the MATLAB toolbox, is a combination of DIP*lib* and MATLAB, meaning that the limits are given by both. If your version of MATLAB has a limit to the size of the arrays that can be created, then DIP*image* will also have this same limit. I think only the student edition of MATLAB 5 has a 64K limit (or so) for arrays. In MATLAB 6 student edition, this limit has been removed.

#### I'm working on a slice out of a 3D image. This filter does not what I expect it to do.

When extracting a slice out of a 3D image, one obtains a 3D image where one of the dimensions has size 1. Boundary extension can do weird things on such an image. Make sure to call `squeeze` before applying your filter. This function will remove the "singleton" dimensions, and the filter will behave as expected.

#### How do I select which `smooth`/`watershed`/`resample` function to run?

Several functions of DIP*image* also exist in other MATLAB
toolboxes (and presumably other 3rd party toolboxes). MATLAB selects
which version to run according to several rules. If you have added the
DIP*image* path at the top of the MATLAB search path (with `addpath`) the DIP*image* `smooth` is the default. If you like to use the curvefit `smooth` you can do the following:

- change the order of paths in the search path. However, this means none of the DIP
*image*functions take precedence anymore. You do this by adding`'-end'`to the`addpath`command (check with`help addpath`) - find out which
`smooth`functions are available (with`which smooth -all`) and change to the right directory before calling`smooth`. The function in the current directory always prevails.

#### How to start MATLAB without Java interface?

Start MATLAB with 'matlab -nodesktop'

#### Is DIP*image* compatible with the MATLAB Web Server?

We don't know. Try it and please tell us.

### Really old issues that you are unlikely to still run into

#### My MATLAB 7 on Linux keeps crashing when DIP*lib* produces an error or when I call `readim`.

This is due to an incompatibility between the libraries provided with MATLAB and the ones on your system. The files

`libgcc_s.so.1``libstdc++.so.5.0.3``libg2c.so.0.0.0`

in `$(MATLABROOT)/sys/os/glnx86` should be replaced by the ones provided with your distribution of Linux. You will find them in `/usr/lib/` and `/lib/`.

This is described in technical solution 1-OQSVI. This solution used to mention the three files above. Now it only mentions one file, but that one alone doesn't seem to solve the problem.

The solution above is reported to not always work properly. Apparently the version of the libraries used by MATLAB needs to be equal or larger to the version of the libraries used when compiling DIP*lib*. So if the solution above does not work, you need to updgrade the GCC libraries on your machine. Apparently, removing the three files mentioned above causes MATLAB to use the default ones on your system, so you don't need to make copies in the MATLAB folder.

#### I have MATLAB 7.01 and an Opteron system running Linux RedHat Enterprise. MATLAB crashes when I call certain DIP*image* functions.

This bug is solved by setting an environment variable:

`setenv MALLOC_CHECK_ 0` .

Note that this is no longer required for MATLAB 7.04 (R14SP2).