Weblog
ELMI meeting 2011
This year, the meeting took place in southern Greece, Alexandroupolice, a small city with population of app. 60k. I list some talks related to image processing and analysis and some posters (might edit more afterward).
- Erik Meijering (UMC Rotterdam) “Advances in tracking biological dynamics: from molecules to organisms” Comprehensive overview of recent tracking techniques. Erik showed a slide of a table showing a long list of available tracking software which will be in his paper coming to be published. Question still remains, if there could be “final algorithm” for all tracking.
- Jason Sweldow (U. Dundee) “Using quantitative trajectory phenotyping to study the control of kinetochore dynamics during mitosis” Using auto- and cross correlation analysis to study the movement of sister kinetochores. 40 or so time points / 7.5 minutes per time point was required for analysis. Neat way to analyze kinetochore.
- Christian Conrad (EMBL Heidelberg) “Micropilot - Automation of F-techniques for systems biology” Recursive system that enables complex analysis with high-throughput microscopy. FRAP analyss in such autoamtic way should be pretty effecient. I thought of some radically different way of time point sampling not from individual, but from population. Time coding > Population coding.
- Gabor Csucs (ETH) “HCIP - workflow based Framework for Biological Image Processing using KNIME platform” KNIME is based on Eclipse framework and affords a user-friendly interface IDE, and this is now integrated with ImageJ including its plugins. Might be good for beginner entry points, who wants to combine functionality of several different analysis related software (though I have not tested yet).
- Zoi Lygerou (U. Patras) “Stochasitc hybrid model of single molecule movement within cells permits insight into DNA replication silencing” Quite in a line of previous works done by Adriaan Houtsmuller and Ivo Sbalzarini. How they incorporated ODE with particle simulation is interesting, but was not presented.
- Sebastian Tosi (CRG Barcelona) “Whole Organ and Tumor, Imaging and Analysis with Lightsheet Fluorescence Microscopy” Massive reconstruction of volume by combining Fiji and Imaris.
- Iliana Kesisova (DU. Thrace) “Tripolins: Novel Aurora Kinase Inhibitors as Tools for Studying Mitosis” Was told that she worked with my ImageJ textbook so a special mention here!
- M.A. Rapsomaniki, Presented by Zoi (U. Patras) “FRAPanalyzer: A Versatile Tool for Quantitative and Qualitative analysis of FRAP data” I was told that the idea is based on the Igor Frap Analyzer, migrated to the Matlab. Respect for another migration of my software. I think I need to publish all the implemented concepts I did with the software somewhere… Maybe this could be well compared with another version from Luxemburg.
- Tania Patino “Identification and quantification of microparticle internalization in non-phagocytic cells by CSLM” I used to use PEI for enhance cell spreading on glass surface but here, it seems that PEI enhances internalization of micro-particle. I did not know this effect.
- M. Del Cabo, Presented by Monica Roldan (UA Barcelobna) “ImageJ Automated Macro for the quantification of fat globules from a traditional catalan cheese from CSLM images” Quite facinating title and pictures, but more than that I was told that this is a product of our course we did in Barcelona in March (according to Julien Colombelli).
testing Groovy - ImageJ
There is a new ImageJ plugin that allows you to fo scripting with Groovy.
ij-Groovy
http://ij-plugins.sourceforge.net/plugins/groovy/tutorials.html#RecordingScripts
so I became interested in how it would be like using it. GroovyConsole seems to be an handy Editor, so instead of installing the plugin to ImageJ, I made a trial to use ImageJ as a libray, accessing directly from Groovy. It was pretty simple to do this task, but I note down how I installed mainly because I will forget what I did.
1. Go to the groovy site, and download the zipped binary.
http://groovy.codehaus.org/Download
I downloaded Groovy 1.7.8 and unzipped the folder groovy-1.7.8 under C:\dev.
2. Add path C:\dev\groovy-1.7.8 as a new environmental variable “GROOVY_HOME” .
3. Add path %GROOVY_HOME%\bin to the system path.
4. Launch the console by clicking %GROOVY_HOME%\bin\GroovyConsole.bat
5. set path to ij.jar by [Script > Add Jar to Classpath]
Following is the code I tested, which worked fine without opening ImageJ main menu.
import ij.* imp = IJ.openImage("http://rsb.info.nih.gov/ij/images/gel.gif"); IJ.log(imp.getDimensions()[0].toString()); imp.show();
Running this code, an image window pops sup and also the width of the image is printed in the output field of the console. IJ.log command which normally should print out the string argument in log window seems to be diverted to the console output.
Interpreter runs with a speed comparable to Javascript and Jython running with ImageJ jar.
Good point about this console is that referencing to a jar file could be easily be done, by [scripts > add jar to classpath] This affords a good simple interface for test assembling several Java libraries.
IJ macro syntax highlighter
ImageJ macro syntax highlighter is available with IJ_ED and Fiji Scripting Editor. Both are plugins for ImageJ. I have not seen IJ macro syntax highlighter with other available editors around, so I made one for Notepad++, a now famous text editor for Windows. Here is the download link for the configuration file.
http://cmci.embl.de/downloads/npp_syntaxhighlighter
I think it should be great also with Vim. I might prepare one as well later.
Running Fiji in EMBL Cluster
… seems to be currently not possible if downloadable Fiji linux-64 version is used. Building from source may be helpful, but Git is not available so building is not successful as well. So another trial would be (1) Install Git somewhere (2) then Build Fiji, with path to locally installed Git (3) then uses headless Fiji.
sub-master 18% ./fiji-linux64 ./fiji-linux64: /lib64/tls/libc.so.6: version `GLIBC_2.4' not found (required by ./fiji-linux64)
–> Solved, after installing Git and compiling using new server with CentOS5.5
Python Installation and Test Notes (Win32, XP)
Install Python.
- python-2.6.5.msi
downloaded from
by default, installed under C:\Python26
Then installing site-packages.
Install Numpy and Scipy
- numpy-1.5.0b1-win32-superpack-python2.6.exe
- scipy-0.8.0-win32-superpack-python2.6.exe
Both downloaded from the link in
Just clicking and executing.
Install matpotlib.
matplotlib-1.0.0.win32-py2.6.exe downloaded from link in http://matplotlib.sourceforge.net/
Install IPython
downloaded
- ipython-0.10.win32-setup.exe
from
and click to install.
check from IDLE:
IDLE 2.6.5 >>> import IPython >>> print IPython.__version__ 0.10 >>>
From the program menue, select IPython → Pylab starts up a command line tool that shows
********************************************************************** Welcome to IPython. I will try to create a personal configuration directory where you can customize many aspects of IPython's functionality in: C:\Documents and Settings\Miura\_ipython Initializing from configuration: C:\Python26\Lib\site-packages\IPython\UserConfi g Successful installation! Please read the sections 'Initial Configuration' and 'Quick Tips' in the IPython manual (there are both HTML and PDF versions supplied with the distribution) to make sure that your system environment is properly configured to take advantage of IPython's features. Important note: the configuration system has changed! The old system is still in place, but its setting may be partly overridden by the settings in "~/.ipython/ipy_user_conf.py" config file. Please take a look at the file if some of the new settings bother you. Please press <RETURN> to start IPython.
Set up environmental variables in Win
- new environmental variable “PYTHONPATH” and
C:\Python26;C:\Python26\Lib;C:\Python26\Lib\site-packages
- add follwoing path to PATH (for commandine)
C:\Python26
Test with the following code:
>>> import numpy, scipy >>> numpy.test()
… then get errors:
Running unit tests for numpy Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> numpy.test() File "C:\Python26\Lib\site-packages\numpy\testing\nosetester.py", line 321, in test self._show_system_info() File "C:\Python26\Lib\site-packages\numpy\testing\nosetester.py", line 187, in _show_system_info nose = import_nose() File "C:\Python26\Lib\site-packages\numpy\testing\nosetester.py", line 69, in import_nose raise ImportError(msg) ImportError: Need nose >= 0.10.0 for tests - see http://somethingaboutorange.com/mrl/projects/nose
seems that I need to install another module called nose so download the file, unzip. From DOS prompt go into the folder \nose-0.11.2. Then
>C:\temp\nose-0.11.2>python setup.py install
according to
I get the following test failure on all msvc9 builds of numpy 1.5.0.dev for Windows. A patch is attached. {{{ ERROR: test_filename (test_memmap.TestMemmap) ---------------------------------------------------------------------- Traceback (most recent call last): File "X:\Python26-x64\lib\site- packages\numpy\core\tests\test_memmap.py", line 60, in test_filename os.unlink(tmpname) WindowsError: [Error 32] The process cannot access the file because it is being used by another process: }}}
This seems to be already reported.
#1550: Memmap test failure ----------------------+----------------------------------------------------- Reporter: cgohlke | Owner: somebody Type: defect | Status: closed Priority: normal | Milestone: 1.5.0 Component: Other | Version: devel Resolution: fixed | Keywords: ----------------------+----------------------------------------------------- Changes (by rgommers): * status: new => closed * resolution: => fixed Comment: Thanks, applied in r8606, r8607.
for this error, some people say its not really problem:
… so maybe ignore for now and wait for the new release to include the fix above.
Test wiith matplotlib
http://matplotlib.sourceforge.net/
from DOS command prompt
from pylab import * plot([1,2,3]) show()
this does work. Shows a new window with plot.
Using Pydev in Eclipse (helios)
Install Pydev
- Install using Help → Install new software.
Settings
set path to the python interpreter in C:\Python26. Then make a new project, and inside create a new python module.
using the same code as above, run the script
—> this does work as well. Shows a new window with plot.
Testing Command line interface (console) in Python
In the bottom console, select “Pydev console” from “Open Console” icon. This will start up interactive python interpreter.
Accessing ImageJ as Image Processing Library
Jython interpreter must be used instead of Python interpreter for accessing Java. For this, pydev installed in eclipse do the job. This is quite useful but the drawback is that one cannot use numpy and scipy. Instead, one should use java numerical libraries as recommended by Albert Cardona.
- JaMa (Java Matrix Package)
- see also a list of libraries
- Basic setting: In eclipse, [Window > Preference], collapse Pydev-Interpreter-Jython tee. If you see nothing listed in “Jython interpreter” field, then you need to set path to a jython interpreter. If you do not have one, you could download the latest from Jython project page (http://www.jython.org/). In my case, I pointed the reference to jython.jar within FIJI jar folder. Since FIJI has automatic updating function, this jar should be the latest one (Python2.5 comparable).
- Make a new pydev project by [File > New > Pydev project], Fill “Project name”, choose project type as Jython, and Grammer version 2.5, choose jython (this name is what you gave when you set the library path in 1.) from Interpreter drop down menu.
- Right click the newly created project folder and [new > pydev module]. In the creation panel, choose whatever the project name (could also be blank), fill Name of the module (“testjy” in this example) and Finish.
- Right click the newly created project folder again, and select “prpoperties”. Select Pydev-PYTHONPATH, select “external libraries” tab, and “Add zip/jar/egg” to set ij.jar as an external library.
- optional: to access lugins in ImageJ plugin folder, add that plugin class file or jar file in the library path as well.
Double clicking test.py will open the file in the editor window. COpy and paste the following:
from ij import IJ import ij.process.ImageProcessor as IP blobs = IJ.openImage("http://rsb.info.nih.gov/ij/images/blobs.gif") imp = blobs.createImagePlus() ip = blobs.getProcessor().duplicate() imp.setProcessor("blobs copy", ip) imp.show() ip.setThreshold(147, 147, IP.NO_LUT_UPDATE) IJ.run(imp, "Convert to Mask", "") IJ.run(imp, "Watershed", "")
save the file, right click the file in Pydeve Package view and select [Run as > Jython Run]. If segmented blob appears, then the setup is working.
To dynamically access jython-ij, set external library path in [window > preferences] interpreter-Jyton pane. Adding ij.jar in the library path will enable you to access jython just like in IDLE by clicking open console icon and selecting pydev console.