Category Archives: Programming

Anything about programming languages

Build and install 3D Slicer4 from source code in Windows

The 3D Slicer is a modern biomedical image processing and analysis software based on ITK and VTK libraries. It is an open source, and can be extended with plugins. Developing new modules, though, demands building the Slicer from the source code.

To say the truth, building Slicer in Windows (especially 64 bit Windows) is a pain. The official installation Wiki page is useful, but gives too many variants and options and jumping from one place to another with different prerequisites, prerequisites of prerequisites, etc., and finally forgets to tell you about essential Visual Studio switches. The result is: after a half day of building, you get between 1 to 5 unsuccessful builds…Who knows why…

After endless trials of installing different versions of different prerequisite softwares, here is my first successful installation list (VERY IMPORTANT to use the suggested software versions, and not newer versions):

  1. Install the newest version of Git.
  2. Install the newest version of SilkSVN.
  3. Install QT 4.7.4 (32 bit binary).
  4. Install VS 2008 Express with SP1.
  5. Install the newest version of CMake.
  6. Open the Windows file explorer and create the directory: C:\Slicer4
  7. Go to C:\ root directory, and press right mouse button. Choose Git Bash. When black terminal window opens, write and run:
    svn co Slicer4
  8. At this stage, the directory C:\Slicer4 should have all the source code of slicer.
  9. Go to Slicer4 directory, and create there Slicer4-Superbuild directory.
  10. Run CMake-GUI.
  11. Select…Where is the source code: C:\Slicer4
  12. Select…Where to build the binaries: C:\Slicer4\Slicer4-Superbuild
  13. Press Configure and select the generator Visual Studio 9 2008 (NOT Win64). If all the previous softwares were installed and configured properly, this step should run without any error messages, and give you a few selected red-background lines in the upper part of the GUI. If errors occur, this is probably because the system’s PATH is not updated properly (all binaries of all aforementioned programs should be included in the PATH variable.
  14. Press Configure once or twice until all the red disappears.
  15. Press Generate, and close CMake after the successful solution generation.
  16. Go to C:\Slicer4\Slicer4-Superbuild directory and open Slicer.sln with VS2008.
  17. When the project opens, select “Release” option instead of “Debug” on the upper toolbar (important!). Note that the built solution should be Win32 even when compiled on x64 machine and Win64.
  18. Build the solution. Hopefully, after a few hours of compiling, this should create a workable version of Slicer.


  • Once I’ve receive error for NUMPY build, and it was resolved by manually creating an empty NUMPY directory in the Slicer4-Superbuild directory, and recompiling.

Install and Configure OpenCV2 in VS2010

OpenCV is a very useful C++ Computer Vision library. Since the pre-built superpack is available, and can be downloaded from here, the installation is rather simple. The problems begin when you’re trying to find different include/lib/bin directories and define them in Visual studio 2010.

  1. Download the latest version of the Superpack.
  2. Run the EXE file, and extract all the files to some directory, e.g., C:\OpenCV23
  3.  Find the subdirectory “build” inside your OpenCV directory. In this subdirectory, find the directory “bin” which is appropriate for your operational system and compiler, e.g., for 32bit VS2010: C:\OpenCV23\opencv\build\x86\vc10\bin
  4. Now you have to add some environmental variables. The instructions can be found here. Add the full path to the “bin” directory to the PATH variable.
  5. Add the variable: OpenCV_VER = 231     (where 231 is the full version number of your OpenCV (i.e., 2.3.1), without dots)
  6. Add the variable: OpenCV_PATH = C:\OpenCV23\opencv\build   (where the path should point to your “build” directory)
  7. Now, create the text file OpenCV_Debug.props:

<!–?xml version=”1.0″ encoding=”utf-8″?>
<Project ToolsVersion=”4.0″ xmlns=”″&gt;
<ImportGroup Label=”PropertySheets” />
<PropertyGroup Label=”UserMacros” />
<ItemGroup />

and the file OpenCV_Release.props:

<!–?xml version=”1.0″ encoding=”utf-8″?>
<Project ToolsVersion=”4.0″ xmlns=”″&gt;
<ImportGroup Label=”PropertySheets” />
<PropertyGroup Label=”UserMacros” />
<ItemGroup />

8.   Create an empty Visual Studio console project.

9.  Add some new source file, like main.cpp

10. Copy the prop files you’ve created to the same directory.

11. In the property editor of VS (look for the property tab under the “Solution explorer” window) add the OpenCV_Debug.props property sheet to Debug | Win32, and OpenCV_Release.props to Release | Win32 (by clicking on + button).

That’s it.

Now, if you need to create a new OpenCV project, you should repeat the steps 8-11 only.

If you’d like to update your OpenCV installation to a new version, you should repeat the steps 4-6, and 8-11 only.

Install Python From the Source Code

Python logo

Image via Wikipedia

Installing Python in Windows 7 is simple, because a pre-built  Windows installer exists. The problem begins when you are trying to compile another Python based libraries, which are asking for e.g. python27_d.lib file. This file is absent, thus you have to build the Python source files from scratch. Python distribution includes SLN files for Visual Studio, but if you try to run them, you’ll get errors. The official explanations of the installation process in Windows … well, I can’t understand from there what to do with the errors.

Still, there is a simple enough solution:

  1. Install VS2008. This will not work for other versions.
  2. Install the Netwide Assembler: , click on “DOWNLOAD” link, choose the latest stable version directory (not rc), click on “win32” directory, download and run the installer (e.g., The program should be installed to C:\Program Files\NASM.
  3. Go to C:\Program Files\NASM\ and  rename the file nasm.exe to nasmw.exe.
  4. Install Cygwin from Choose all default settings, except the addition of the following packages:
    1. curl
    2. cvs
    3. git
    4. subversion
    5. tcltk
    6. unzip
    7. zip
  5. Add to the PATH the directories C:\Program Files\NASM\ and C:\cygwin\bin: go to Control Panel, start searching for env…and choose “Edit the system environment variables” –>Environment Variables…–>Edit PATH variable.
  6. Download the Python source code from site: e.g.
  7. Create directory: C:\Python27 and copy all the source files and sub-directories there. If everything is okay, you should see the directory C:\Python27\PCbuild.
  8. Run cmd as administrator: Start button–>All Programs–>Accessories–>Right click on Command Prompt–>Run as Administrator.
  9. In the open terminal write the following:
    1. cd C:\Python27
    2. .\tools\buildbot\build
  10. The Debug version of Python should be installed without errors.


Multiple line comment:

comment lines…
The first and the last lines should not include any other text.

Optional end-line comment:

The text after “…” is always ignored.

Which programming languages should I learn (in addition to MATLAB)?


I have to confess that I’m still looking for the “right” languages for me. First of all, I’m a scientist and not a programmer, and I DON’T want to be a programmer! On the other hand, writing algorithms and programming is what I do as a major part of my scientific life. Therefore, of course MATLAB is my first choice, and I know it well. But sometimes MATLAB is not enough. It is fine for scientific computations and proof of concept, but there are better ways to do other things.

I don’t need my programs to be portable, or to ship/sell them. All the projects are for personal use, or for the scientific community. Therefore I’m not concerned with compatibility problems.

Continue reading