LAMP (Large Array Manipulation Program) is designed for the treatment of data obtained from neutron scattering experiments at the Institut Laue-Langevin. However, LAMP is now a more general purpose application which can be seen as a GUI-laboratory for data analysis based on the IDL language.

Lamp has been developed and maintained at the ILL since 1994, but since 2020 and the adoption of Mantid as our main framework for data analysis we have stopped its active development and now we can offer only minimal support. Nevertheless, Lamp is still a very useful tool to visualize and reanalyse old data, so we plan to maintain it alive as long as possible. Therefore, if you find bugs or have some issues concerning the use of Lamp, please write us to and we will try to help you as best as we can.

How to get Lamp

1. Using VISA:

The easiest way to use Lamp is through VISA. Open your VISA instance and you can launch Lamp from the Applications menu (Education --> LAMP) or from a terminal, using the command: /home/cs/lamp/START_lamp

2. If you have an IDL license:

2.1 Get the source code from ILL's Lamp repository. If you are familiar with Git, the simplest way is doing a git clone. Otherwise, download the source code and uncompress it in your local machine.

2.2 Launch IDLDE (the IDL workbench) and add the corresponding path to the Lamp source code (Window menu --> Preferences --> IDL --> Paths). Checkmark the path to include the subdirectories.

2.3 Type lamp in the IDL Console to compile the source files and start Lamp.

2.4 Updating Lamp: Again, the easiest way is to use the git pull command to recover any file modified recently. Otherwise, the alternative consists in downloading manually just the desired files or overwriting the full lamp tree. Then, in the IDL Console, run the command to force the compilation of all the Lamp modules, which will be saved in the lamp.sav file.

3. Install the Lamp runtime:

NB: For security reasons, the ftp-based distribution and live update is no longer available. This means that you need to use the more manual procedure described below.

3.0 If you are inside the ILL network, you can call directly the Lamp runtime available in the server with the commands:

\\serdon\applications\WIN_LAMP\lamp\lamp.exe (from a Windows PC)


/home/cs/lamp/START_lamp (from a Linux PC).

This will launch the most recent Lamp version.

3.1 Otherwise, you need to download all the necessary files from our cloud.

3.2 Then, uncompress the file lamp_runtime_unixs.tar.gz (for Mac or Unix/Linux) or (for Windows).

3.3 In the main Lamp folder (e.g. C:\Free_Lamp85\lamp in a typical Windows install), copy the file update85a.rt.

3.4 Copy the instrument/technique plugins (files brisp_85a.rt, dif_85a.rt, difd2b_85a.rt, in5_85a.rt, lss_d17_85a.rt, and tof_bs_85a.rt) to the lamp\plug_in directory.

3.5 START_lamp should then launch the Lamp runtime.

3.6 As the live update is not functional any more, you may need to check occasionally if there is a more recent version of the global update file (update85a.rt) or any of the instrument plug-ins, and if so, replace the file in your local installation.


Disclaimer: There is not a complete and up to date documentation providing a full overview of Lamp. But hopefully the user interface is intuitive enough to allow you to manipulate your data with Lamp as you want. Otherwise, send us a mail ( and we will try to help you if we can.

You can also give a look to the following documents:

Known problems

On Mac:

    - Need to install developer tools

       Error message shown in terminal when starting Lamp:

             Getting source from /Users/.../Lamp/Free_Lamp85/lamp ....

             xcode-select: note: no developer tools were found at 'Applications/', requesting install.

       Solution: Install xcode-select, e.g. on a terminal type: xcode-select --install

    - Incompatibility with XQuartz 2.7.11

       Error message shown in terminal when starting Lamp:

             Getting source from /Users/.../Lamp/Free_Lamp85/lamp ....

             Error: attempt to add non-widget child "dsm" to parent "idl" which supports only widgets

       Solution: Type the following two commands (requires sudo permission):

             sudo mv /opt/X11/lib/libXt.6.dylib{,.bak}

             sudo cp /opt/X11/lib{/flat_namespace,}/libXt.6.dylib

       You can find more info and alternative workarounds here.


On Linux (seen on Ubuntu 18.04 or higher):

    - needed

       Error message in terminal:

             Getting source from /home/.../Lamp/Free_Lamp85/lamp ....

             /home/.../Lamp/Free_Lamp85/lamp/idl85/bin/bin.linux.x86_64/idl: error while loading shared libraries: cannot open shared object file: No such file or directory

       This is a deprecated library, so it will not be present in recent Linux distributions.

       Solution: Either installing manually this library or creating a symbolic link to the libXpm4 library.

         To try the second solution, follow those steps (requires sudo rights):

          Search for the package containing libXpm:                     sudo dpkg -S libXpm

          Install libxpm4 (if not already installed):                          sudo apt-get install libxpm4

          Create a symbolic link:                                                        cd /usr/lib/x86_64-linux-gnu

                                                                                                         sudo ln -s

Citing Lamp

The LAMP package is distributed in the public domain.
If you find this application useful, you may send an electronic mail message to
We would gratefully appreciate any feedback on malfunctions. If you need to cite Lamp in a publication, please use this reference:

  • D. Richard, M. Ferrand and G.J. Kearley, J. Neutron Research 4, 33-39, 1996.  DOI: 10.1080/10238169608200065