Discussion:
Computer specifications for Fiji/ImageJ
Zach Freyberg
2013-02-02 00:07:18 UTC
Permalink
Dear all,
I am in the process of building a relatively high-powered computer imaging
workstation for processing microscope-acquired images. I plan on doing a lot
of fast time-scale image acquisition which will result in image stacks of
9,000 images per stack. I also plan on using the computer for creating 3-D
reconstructions/movies of some of these images. To handle these demands, I
had originally planned on building a computer including:
64GB, DDR3 RDIMM Memory, 1600MHz, ECC (8 x 8GB DIMMs)
Dual Six Core XEON E5-2630, 2.3GHz, 15M, 7.2 GT/s,Turbo
2.5GB NVIDIAR Quadro 5000 graphics card
Windows 7, 64-bit

Based on reading a recent thread, my first question is whether Fiji and/or
Image J will run normally on a set up like this, particularly with a dual
processor setup and >32GB RAM? Secondly, does it make sense to get a single
processor running faster with fewer threads (i.e. a single 8 core Xeon
processor with 3.1GHz, 20M, 8.0 GT/s)? Any insights would be greatly
appreciated!

Best regards,
Zach Freyberg

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Gabriel Lapointe
2013-02-02 02:15:29 UTC
Permalink
I recently built a similar computer for image analysis and it is working
great with 2 dual six-core and 146 Gb of ECC-registered RAM and RAID0 SSDs
on WIndows 7 64bit. Fiji is even putting Imaris to shame on this baby as it
often uses the 12 cores while Imaris is only using 1.
The only thing I would says is that I find that the price difference
between a Quadro and a GeForce is probably not worth it. Personnaly I would
invest the money in more RAM or a pair of faster CPU.

AS for the single 8 core vs 2 six-core question. I'm by no mean an expert,
but with multitrheaded applications I believe that all cache being equal
more core will be faster than slightly faster clock. The key words here is
"multithreaded applications". If you intend to use single threaded plugins,
then thats another story.


*Gabriel Lapointe, M.Sc.*
Lab Manager / Microscopy Specialist
Concordia University, Biology Department
7141 Sherbrooke St. West SP 534
Montréal QC H4B 1R6 Canada
Lab : (514) 848-2424 x5988
Office : (514) 848-2424 x3008
Fax : (514) 848-2881
Cell : (514) 278-0247
gabriel.lapointe-***@public.gmane.org
cmac.concordia.ca
http://gabriellapointe.ca
Post by Zach Freyberg
Dear all,
I am in the process of building a relatively high-powered computer imaging
workstation for processing microscope-acquired images. I plan on doing a lot
of fast time-scale image acquisition which will result in image stacks of
9,000 images per stack. I also plan on using the computer for creating 3-D
reconstructions/movies of some of these images. To handle these demands, I
64GB, DDR3 RDIMM Memory, 1600MHz, ECC (8 x 8GB DIMMs)
Dual Six Core XEON E5-2630, 2.3GHz, 15M, 7.2 GT/s,Turbo
2.5GB NVIDIAR Quadro 5000 graphics card
Windows 7, 64-bit
Based on reading a recent thread, my first question is whether Fiji and/or
Image J will run normally on a set up like this, particularly with a dual
processor setup and >32GB RAM? Secondly, does it make sense to get a single
processor running faster with fewer threads (i.e. a single 8 core Xeon
processor with 3.1GHz, 20M, 8.0 GT/s)? Any insights would be greatly
appreciated!
Best regards,
Zach Freyberg
--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Johannes Schindelin
2013-02-02 16:08:16 UTC
Permalink
Hi Zach,
Post by Zach Freyberg
I am in the process of building a relatively high-powered computer imaging
workstation for processing microscope-acquired images. I plan on doing a lot
of fast time-scale image acquisition which will result in image stacks of
9,000 images per stack. I also plan on using the computer for creating 3-D
reconstructions/movies of some of these images. To handle these demands, I
64GB, DDR3 RDIMM Memory, 1600MHz, ECC (8 x 8GB DIMMs)
Dual Six Core XEON E5-2630, 2.3GHz, 15M, 7.2 GT/s,Turbo
2.5GB NVIDIAR Quadro 5000 graphics card
Windows 7, 64-bit
Based on reading a recent thread, my first question is whether Fiji and/or
Image J will run normally on a set up like this, particularly with a dual
processor setup and >32GB RAM? Secondly, does it make sense to get a single
processor running faster with fewer threads (i.e. a single 8 core Xeon
processor with 3.1GHz, 20M, 8.0 GT/s)? Any insights would be greatly
appreciated!
I worked with a 16 core machine that has 128GB installed for a couple of
years. It works fine with Fiji (and therefore ImageJ).

My personal impression was that machines with more RAM run smoother with
Linux than with Windows. I did not perform statistics on that, so please
take that with a big grain of salt.

As Gabriel pointed out, the crucial point is to have multi-threaded
software (i.e. if you want to write plugins yourself, you need to make
sure that the code uses the ExecutorService, for primitive PlugInFilters,
using the PARALLELIZE_STACKS flag might be enough, in general you really
need to use a more sophisticated approach, e.g. by using ImgLib2).

As to the question whether to pick one CPU with more cores or two CPUs
with less: the details depend very much on your mainboard, but as a rule
of thumb: keeping the cores within the same CPU makes things faster, as
there are multiple levels of caching, and the fastest is always inside the
CPU (typically, more than one level, even).

As to video adapters: despite their policies, NVidia seems to be still the
top notch, although I hear that OpenCL is getting there (NVidia cultivated
the idea that you could use video adapters for massively parallel
computation rather than just rendering; they established the CUDA library
for that -- which required NVidia, naturally -- and OpenCL was designed as
a adapter-independent way to use video adapters for computation).

But again, to use NVidia properly, you have to write your software using
CUDA.

If you want to use the video adapter purely for 3D rendering, the most
important point is: how much RAM does the video adapter have.

Ciao,
Johannes

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Johannes Schindelin
2013-02-02 21:46:25 UTC
Permalink
Hi Zach,
Thank you very much for your advice - it is extremely helpful!
Presently, I am mainly using plug-ins like multimeasure and stackreg on
a (vastly more) low-tech 32-bit Windows machine. Will they work as-is
(i.e. be compatible) on a multi-core, multi-threaded machine with the
specs I cited below or will they need to be modified? I ask because my
programming leaves something to be desired. Again, I really appreciate
your help.
Unfortunately, as far as I know, neither the MultiMeasure nor the StackReg
plugin can make use of multiple cores at present.

Ciao,
Johannes

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Zachary Freyberg
2013-02-02 22:18:47 UTC
Permalink
Hi Johannes,
Thank you for your e-mail. While neither MultiMeasure nor Stackreg may
use or take advantage of the increased speed that multiple cores may
provide at present, do you think they will still at least work as-is
in that environment? Thank you again for your advice.

Best,
Zach
Post by Johannes Schindelin
Hi Zach,
Thank you very much for your advice - it is extremely helpful!
Presently, I am mainly using plug-ins like multimeasure and stackreg on
a (vastly more) low-tech 32-bit Windows machine. Will they work as-is
(i.e. be compatible) on a multi-core, multi-threaded machine with the
specs I cited below or will they need to be modified? I ask because my
programming leaves something to be desired. Again, I really appreciate
your help.
Unfortunately, as far as I know, neither the MultiMeasure nor the StackReg
plugin can make use of multiple cores at present.
Ciao,
Johannes
--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Zachary Freyberg
2013-02-03 21:55:51 UTC
Permalink
Hi Johannes,
Thank you again! Do you know if such a plug-in exists, or would one
have to be custom-written for these applications? Again, I appreciate
all of this advice!

Best,
Zach
Post by Johannes Schindelin
Hi Zach,
Post by Zachary Freyberg
Thank you for your e-mail. While neither MultiMeasure nor Stackreg may
use or take advantage of the increased speed that multiple cores may
provide at present, do you think they will still at least work as-is in
that environment?
Without multi-threading, you will only get the benefit of increased RAM
as compared to a typical current computer, unless the plugins use
multi-threading.
Having said that, a plugin parallelizing calls to, say, StackReg, should
also help taking advantage of multiple cores when you have a lot of images
you need to process.
Ciao,
Johannes
--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Albert Cardona
2013-02-03 22:06:56 UTC
Permalink
Post by Zachary Freyberg
Hi Johannes,
Thank you again! Do you know if such a plug-in exists, or would one have
to be custom-written for these applications? Again, I appreciate all of
this advice!
If you'd like to register a stack of images with some multithreading, try
the "Register Virtual Stack Slices" plugin in Fiji.
http://fiji.sc/wiki/index.php/Register_Virtual_Stack_Slices

If you'd like to montage images and sequences of images (stacks) in
parallel, try the TrakEM2 plugin in Fiji.
http://fiji.sc/wiki/index.php/TrakEM2
http://www.ini.uzh.ch/~acardona/trakem2.html

Albert
--
http://albert.rierol.net
http://www.ini.uzh.ch/~acardona/

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Cammer, Michael
2013-02-05 16:23:29 UTC
Permalink
To see how ImageJ behaves on Windows XP 64 bit with 8 cores, please see
http://www.flickr.com/photos/mcammer/8447182799/sizes/l/in/photostream/
Regards,
Michael

-----Original Message-----
From: ImageJ Interest Group [mailto:IMAGEJ-9srhZJH3/***@public.gmane.org] On Behalf Of Zachary Freyberg
Sent: Sunday, February 03, 2013 4:56 PM
To: IMAGEJ-9srhZJH3/***@public.gmane.org
Subject: Re: Computer specifications for Fiji/ImageJ

Hi Johannes,
Thank you again! Do you know if such a plug-in exists, or would one have to be custom-written for these applications? Again, I appreciate all of this advice!

Best,
Zach
Post by Johannes Schindelin
Hi Zach,
Post by Zachary Freyberg
Thank you for your e-mail. While neither MultiMeasure nor Stackreg
may use or take advantage of the increased speed that multiple cores
may provide at present, do you think they will still at least work
as-is in that environment?
Without multi-threading, you will only get the benefit of increased
RAM as compared to a typical current computer, unless the plugins use
multi-threading.
Having said that, a plugin parallelizing calls to, say, StackReg,
should also help taking advantage of multiple cores when you have a
lot of images you need to process.
Ciao,
Johannes
--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Johannes Schindelin
2013-02-05 22:10:29 UTC
Permalink
Hi Zach,
Post by Zachary Freyberg
Do you know if such a plug-in exists,
I am not aware of one such plugin.
Post by Zachary Freyberg
or would one have to be custom-written for these applications?
In theory, it should be very easy to write a plugin that launches macros
in parallel. In practice, too many plugins (and also parts of the ImageJ
1.x core) were designed with the one machine, one user, one macro (and
don't you touch the mouse while it is running ;-)) paradigm in mind.

That means that the plugins you want to use have to be vetted, and
possibly fixed, to be able to run in a multi-threaded manner.

Ciao,
Johannes

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Zach Freyberg
2013-02-06 00:34:27 UTC
Permalink
Hi Johannes,
Based on this, I think that given that Fiji/Imagej are the two applications
that will be mainly used on the rig, perhaps the most logical decision may
be to purchase a system with a single multi-core processor with as much
memory and cores as I can reasonably get rather than a dual processor system
since Fiji will only handle one processor without much benefit from the
second. From the discussion, it seems like the system RAM and the speed of
the individual processor will make more of a difference in speed and power
as far as handling the calculations necessary. Does this sound like a fair
assessment of the situation? Thank you again!

Best,
Zach

-----Original Message-----
From: Johannes Schindelin [mailto:Johannes.Schindelin-***@public.gmane.org]
Sent: Tuesday, February 05, 2013 5:10 PM
To: zf2101-WLbs8XpHrcb2fBVCVOL8/***@public.gmane.org
Cc: IMAGEJ-9srhZJH3/***@public.gmane.org
Subject: Re: Computer specifications for Fiji/ImageJ

Hi Zach,
Post by Zachary Freyberg
Do you know if such a plug-in exists,
I am not aware of one such plugin.
Post by Zachary Freyberg
or would one have to be custom-written for these applications?
In theory, it should be very easy to write a plugin that launches macros
in parallel. In practice, too many plugins (and also parts of the ImageJ
1.x core) were designed with the one machine, one user, one macro (and
don't you touch the mouse while it is running ;-)) paradigm in mind.

That means that the plugins you want to use have to be vetted, and
possibly fixed, to be able to run in a multi-threaded manner.

Ciao,
Johannes

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html

Johannes Schindelin
2013-02-03 20:57:32 UTC
Permalink
Hi Zach,
Post by Zachary Freyberg
Thank you for your e-mail. While neither MultiMeasure nor Stackreg may
use or take advantage of the increased speed that multiple cores may
provide at present, do you think they will still at least work as-is in
that environment?
Without multi-threading, you will only get the benefit of increased RAM
as compared to a typical current computer, unless the plugins use
multi-threading.

Having said that, a plugin parallelizing calls to, say, StackReg, should
also help taking advantage of multiple cores when you have a lot of images
you need to process.

Ciao,
Johannes

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Cammer, Michael
2013-02-05 15:41:51 UTC
Permalink
I have a Dell Windows 7 computer with 4 cores. According to Windows Task Manager Performance monitor, all four cores are utilized by ImageJ ImageJ 1.47 running on Java 1.6.0_12 with parallel threads set to 4. The following operations used all four cores according to the task manager:

FFT bandpass filtering.
Median 7X7.
Math > Square root
Math > Square
Variance 5.
Threshold > convert to binary.
Analyze Particles... (measured 24000+ particles)
Smooth
Remove outliers

I didn't try others. If I can find a computer around here with more cores, I'll run the tests there too and post the answer.

Regards,

Michael


-----Original Message-----
From: ImageJ Interest Group [mailto:IMAGEJ-9srhZJH3/***@public.gmane.org] On Behalf Of Johannes Schindelin
Sent: Sunday, February 03, 2013 3:58 PM
To: IMAGEJ-9srhZJH3/***@public.gmane.org
Subject: Re: Computer specifications for Fiji/ImageJ

Hi Zach,
Post by Zachary Freyberg
Thank you for your e-mail. While neither MultiMeasure nor Stackreg may
use or take advantage of the increased speed that multiple cores may
provide at present, do you think they will still at least work as-is
in that environment?
Without multi-threading, you will only get the benefit of increased RAM as compared to a typical current computer, unless the plugins use multi-threading.

Having said that, a plugin parallelizing calls to, say, StackReg, should also help taking advantage of multiple cores when you have a lot of images you need to process.

Ciao,
Johannes

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Aaron Hendrickson
2013-02-03 02:34:43 UTC
Permalink
Zach,

I am not a computer expert but I can tell you that I have had no problem
running ImageJ with as much as 50+GB of images open at once. I do a lot of
processing that involves very large images stacks and have had no problems.

Cheers,
Aaron.
Post by Zach Freyberg
Dear all,
I am in the process of building a relatively high-powered computer imaging
workstation for processing microscope-acquired images. I plan on doing a lot
of fast time-scale image acquisition which will result in image stacks of
9,000 images per stack. I also plan on using the computer for creating 3-D
reconstructions/movies of some of these images. To handle these demands, I
64GB, DDR3 RDIMM Memory, 1600MHz, ECC (8 x 8GB DIMMs)
Dual Six Core XEON E5-2630, 2.3GHz, 15M, 7.2 GT/s,Turbo
2.5GB NVIDIAR Quadro 5000 graphics card
Windows 7, 64-bit
Based on reading a recent thread, my first question is whether Fiji and/or
Image J will run normally on a set up like this, particularly with a dual
processor setup and >32GB RAM? Secondly, does it make sense to get a single
processor running faster with fewer threads (i.e. a single 8 core Xeon
processor with 3.1GHz, 20M, 8.0 GT/s)? Any insights would be greatly
appreciated!
Best regards,
Zach Freyberg
--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Loading...