Documentation‎ > ‎

FAQ

Error messages and bugs

I get an error message when calling dip_initialise.

This usually indicates an erroneous installation. Please read the DIPimage User Manual for installation instructions.

I have found a bug. What do I do?

First make sure you have the latest version of DIPimage 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 DIPlib 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 DIPimage with the Parallel Computing Toolbox!

(This is only applicable to the Windows version) Initialise DIPlib using
dip_initialise('nopathenv')
For this to work, you need to set the PATH environment variable before starting MATLAB. See the DIPimage User Manual for instructions.

Usage

In order to make full use of DIPimage, 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 DIPimage 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 DIPimage toolbox functions.

Can I have the source code?

No, we do not distribute source code.

How do I integrate my C code into DIPimage?

See MEX-file programming with DIPimage.

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

There are no limits in DIPlib (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.

DIPimage, the MATLAB toolbox, is a combination of DIPlib 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 DIPimage 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 DIPimage 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 DIPimage path at the top of the MATLAB search path (with addpath) the DIPimage smooth is the default. If you like to use the curvefit smooth you can do the following:

  1. change the order of paths in the search path. However, this means none of the DIPimage functions take precedence anymore. You do this by adding '-end' to the addpath command (check with help addpath)
  2. 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 DIPimage 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 DIPlib 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 DIPlib. 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 DIPimage 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).