Hello,
A new plugin, called "Parallel Super-Resolution", is available at: http://sites.google.com/site/piotrwendykier/software/parallelsuperresolution Super-resolution is an image fusion and reconstruction problem, where an improved resolution image is obtained from several geometrically warped, low resolution images. The high resolution image is not only an image that has more pixels (like in the case of interpolation), but it also has more visible details. Features: - The plugin can handle arbitrary-sized stacks (low resolution 2D input images) and 4D hyperstacks (low resolution 3D input images) - Multithreading (user can choose the number of computational threads) - Gauss-Newton used as a non-linear solver - HyBR used as a linear solver - Different output types (Same as source, Byte, Short or Float) - Single and double precision - Show iterations option - Non-modal GUI - The plugin can be called from ImageJ macro I hope you will find it useful. Piotr Wendykier |
Dear Piotr,
It seems to be quite interesting. I tried to install it in plugins directory of Image J under Windows Vista 32-bit using Java 1.6.0_14 but the following error log was returned: java.lang.NoSuchMethodError: edu.emory.mathcs.utils.ConcurrencyUtils.getNumberOfThreads()I at edu.emory.mathcs.restoretools.superresolution.ParallelSuperresolution$MainPanel.init(ParallelSuperresolution.java:808) at edu.emory.mathcs.restoretools.superresolution.ParallelSuperresolution$MainPanel.<init>(ParallelSuperresolution.java:633) at edu.emory.mathcs.restoretools.superresolution.ParallelSuperresolution.run(ParallelSuperresolution.java:1149) at ij.IJ.runUserPlugIn(IJ.java:176) at ij.IJ.runPlugIn(IJ.java:143) at ij.Executer.runCommand(Executer.java:122) at ij.Executer.run(Executer.java:59) at java.lang.Thread.run(Thread.java:619) What am I doing wrong, please? Thanks in advance and best regards, Rogerio Hein Materials and Technology Department, São Paulo State University, Guaratinguetá, SP, Brasil ----- Original Message ----- From: "Piotr Wendykier" <[hidden email]> To: <[hidden email]> Sent: Monday, July 27, 2009 9:54 PM Subject: Plugin announcement: Parallel Super-Resolution > Hello, > > A new plugin, called "Parallel Super-Resolution", is available at: > > http://sites.google.com/site/piotrwendykier/software/parallelsuperresolution > > Super-resolution is an image fusion and reconstruction problem, where > an improved resolution image is obtained from several geometrically > warped, low resolution images. The high resolution image is not only > an image that has more pixels (like in the case of interpolation), but > it also has more visible details. > > Features: > > - The plugin can handle arbitrary-sized stacks (low resolution 2D input > images) > and 4D hyperstacks (low resolution 3D input images) > - Multithreading (user can choose the number of computational threads) > - Gauss-Newton used as a non-linear solver > - HyBR used as a linear solver > - Different output types (Same as source, Byte, Short or Float) > - Single and double precision > - Show iterations option > - Non-modal GUI > - The plugin can be called from ImageJ macro > > I hope you will find it useful. > > Piotr Wendykier |
In reply to this post by Piotr Wendykier
Hi Piotr,
This looks really interesting. Thanks for sharing it. I wonder if these are bugs: The "show iterations" check box, does not seem to show the different iterations (or is it showing real time?. I wondered if this was a creation of stacks one slice per iteration?). The choice of Output (Same as source) returns 32 bit even when the source is 8 bits. Is that right? It would also be quite useful to know what the Scaling Factors mean (The first seems to be the size of the result, but what is the next one? Some indication of what the HyBR options are, would also be useful. Thanks again, Cheers Gabriel |
Another one:
Under linux, one cannot close the plugin dialog with the "Close" button in the title bar. The Minimise button, however, works OK. Cheers Gabriel |
In reply to this post by Rogerio Hein-2
Hello,
I think you probably have an old version of Parallel Colt somewhere in the plugins directory. This plugin requires parallelcolt-0.8.1.jar. Please delete all other versions. Piotr On Mon, Jul 27, 2009 at 10:51 PM, Rogerio Hein<[hidden email]> wrote: > Dear Piotr, > > It seems to be quite interesting. I tried to install it in plugins directory > of Image J under Windows Vista 32-bit using Java 1.6.0_14 but the following > error log was returned: > > java.lang.NoSuchMethodError: > edu.emory.mathcs.utils.ConcurrencyUtils.getNumberOfThreads()I > at > edu.emory.mathcs.restoretools.superresolution.ParallelSuperresolution$MainPanel.init(ParallelSuperresolution.java:808) > at > edu.emory.mathcs.restoretools.superresolution.ParallelSuperresolution$MainPanel.<init>(ParallelSuperresolution.java:633) > at > edu.emory.mathcs.restoretools.superresolution.ParallelSuperresolution.run(ParallelSuperresolution.java:1149) > at ij.IJ.runUserPlugIn(IJ.java:176) > at ij.IJ.runPlugIn(IJ.java:143) > at ij.Executer.runCommand(Executer.java:122) > at ij.Executer.run(Executer.java:59) > at java.lang.Thread.run(Thread.java:619) > > What am I doing wrong, please? > Thanks in advance and best regards, > > Rogerio Hein > > Materials and Technology Department, São Paulo State University, > Guaratinguetá, SP, Brasil > > ----- Original Message ----- From: "Piotr Wendykier" > <[hidden email]> > To: <[hidden email]> > Sent: Monday, July 27, 2009 9:54 PM > Subject: Plugin announcement: Parallel Super-Resolution > > >> Hello, >> >> A new plugin, called "Parallel Super-Resolution", is available at: >> >> >> http://sites.google.com/site/piotrwendykier/software/parallelsuperresolution >> >> Super-resolution is an image fusion and reconstruction problem, where >> an improved resolution image is obtained from several geometrically >> warped, low resolution images. The high resolution image is not only >> an image that has more pixels (like in the case of interpolation), but >> it also has more visible details. >> >> Features: >> >> - The plugin can handle arbitrary-sized stacks (low resolution 2D input >> images) >> and 4D hyperstacks (low resolution 3D input images) >> - Multithreading (user can choose the number of computational threads) >> - Gauss-Newton used as a non-linear solver >> - HyBR used as a linear solver >> - Different output types (Same as source, Byte, Short or Float) >> - Single and double precision >> - Show iterations option >> - Non-modal GUI >> - The plugin can be called from ImageJ macro >> >> I hope you will find it useful. >> >> Piotr Wendykier > |
In reply to this post by Gabriel Landini
Hello,
On Tue, Jul 28, 2009 at 6:15 AM, Gabriel Landini<[hidden email]> wrote: > Hi Piotr, > > This looks really interesting. Thanks for sharing it. > > I wonder if these are bugs: > > The "show iterations" check box, does not seem to show the different > iterations (or is it showing real time?. I wondered if this was a creation of > stacks one slice per iteration?). I think this is working correctly, i.e. the image is refreshed after each iteration. However, for my examples there is a very minor difference between the solution after the first iteration and the solutions after remaining iterations. > The choice of Output (Same as source) returns 32 bit even when the source is 8 > bits. Is that right? > Yes, that is a bug, I will fix it in the next release. > It would also be quite useful to know what the Scaling Factors mean (The first > seems to be the size of the result, but what is the next one? > Some indication of what the HyBR options are, would also be useful. Additional information about each component of the GUI appears as a tool tip text - the text displays when the cursor lingers over the component. For the scaling factors it says: "Scaling factor for x and y dimensions." and "Scaling factor for z dimension." Of course the scaling factor for z dimension is only used for 3D data. The tool tip texts appear also in the HyBR options panel. To learn more, what the HyBR really is, you can read this article: J. Chung, J. Nagy and D. P'Leary A Weighted GCV Method for Lanczos Hybrid Regularization Elec. Trans. Numer. Anal., 28 (2008), pp. 149--167. http://etna.mcs.kent.edu/vol.28.2007-2008/pp149-167.dir/pp149-167.pdf Piotr |
In reply to this post by Gabriel Landini
This is a feature, not a bug. Some problems (killing threads, etc.)
appear when the user decides to close the plugin while the computations are performed. Therefore, the only way to close the GUI is by using the Cancel button. Piotr On Tue, Jul 28, 2009 at 6:25 AM, Gabriel Landini<[hidden email]> wrote: > Another one: > Under linux, one cannot close the plugin dialog with the "Close" button in the > title bar. The Minimise button, however, works OK. > > Cheers > > Gabriel > |
In reply to this post by Piotr Wendykier
Hi Piotr,
On Tuesday 28 July 2009 13:37:06 Piotr Wendykier wrote: > Additional information about each component of the GUI appears as a > tool tip text > - the text displays when the cursor lingers over the component. > For the scaling factors it says: > "Scaling factor for x and y dimensions." and > "Scaling factor for z dimension." I was unaware of the tool tips! Yes, I see them now. > http://etna.mcs.kent.edu/vol.28.2007-2008/pp149-167.dir/pp149-167.pdf Great, thanks. > This is a feature, not a bug. Some problems (killing threads, etc.) > appear when the user > decides to close the plugin while the computations are performed. > Therefore, the only way > to close the GUI is by using the Cancel button. I am no Java expert, so forgive if this is completely wrong. Whatever the Cancel button does can't it be also handled inside something like: public void windowClosing(WindowEvent e) { // stop threads and all what "Cancel" does } I am asking because this is also used in the Colour Threshold plugin and now I wonder if it is the right thing to do. Cheers Gabriel |
>> This is a feature, not a bug. Some problems (killing threads, etc.)
>> appear when the user >> decides to close the plugin while the computations are performed. >> Therefore, the only way >> to close the GUI is by using the Cancel button. > > I am no Java expert, so forgive if this is completely wrong. Whatever the > Cancel button does can't it be also handled inside something like: > > public void windowClosing(WindowEvent e) { > // stop threads and all what "Cancel" does > } > > I am asking because this is also used in the Colour Threshold plugin and now I > wonder if it is the right thing to do. > The Cancel button is disabled while the computations are performed, so you would have to close ImageJ to stop the plugin. Cancel button does not kill any threads - here is what it does: private class CancelButtonActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { mainPanel.dispose(); ImagePlus.removeImageListener(getImageListener()); dGN = null; fGN = null; dGamma0 = null; fGamma0 = null; dInput = null; fInput = null; imB = null; imX = null; windowIDs = null; imageTitles = null; } } Here is the javadoc for java.util.concurrent.ExecutorService (which is used in the plugin): http://java.sun.com/javase/6/docs/api/java/util/concurrent/ExecutorService.html Please see the description of shutdown() and shutdownNow() methods: "Attempts to stop all actively executing tasks, halts the processing of waiting tasks, and returns a list of the tasks that were awaiting execution. There are no guarantees beyond best-effort attempts to stop processing actively executing tasks. For example, typical implementations will cancel via Thread.interrupt(), so any task that fails to respond to interrupts may never terminate." Regards, Piotr |
In reply to this post by Piotr Wendykier
Hello,
thanks for sharing. I've got a problem using it, though. I open four images using ImageJ. Then I run the plugin. Next, I click on "Reconstruct". Then an error message appears: "3D stack or 4D hyperstack is required". How can I use it correctly? Thanks a lot, Sabine Lorentz
|
In reply to this post by Piotr Wendykier
Hello,
Could be a way to estimate the the required memory? I'm wishing to work with 20MPx pictures, and let's say a 5 picture stack. Thanks Reinaldo |
Free forum by Nabble | Edit this page |