Given the recent discussion of resolving sub-pixel resolution, I thought
maybe the time was right to post the following question. We've been amassing a database of satellite/aerial images of Iraq pre-invasion from scanning newspapers and magazines and from various sources on the Internet. Now we'd like to use ImageJ to automatically do feature recognition to hunt for WMDs, maybe even to vindicate the intelligence community. Last week there was discussion of obtaining sub-pixel resolution by zooming up images 8X or more. If we zoomed up high enough, could we even resolve microbes that might signify a bioterrorism program? There seem to be a number of nifty plugins out there for automated feature recognition. Any help appreciated. _________________________________________ Michael Cammer DISCLAIMER: This electronic communication may contain completely frivolous material in honor of the traditional beginning of Spring "April Fool's Day". |
Interpolation does not create information. When the resolution of an image
is increased by whatever interpolation scheme there is always the assumption that the original signal was band-limited, including the optimal sinc interpolator. If no anti-aliasing filter was used, stair-casing artifact will be present and possibly some other artifacts. In other words, if an object is smaller than a pixel (roughly), any information about that object is gone forever. You can zoom 1000x, nothing is going to show up (unlike in Hollywood movies). The only solution is to bring to the interpolation scheme some a priori information, and that is very specific of course to the application. Now, if you zoom 100x a satellite image whose original resolution was 100m and you stare at the picture for an hour trying to detect a truck, I am sure you will find one because your brain is going to pour a priori information in your analysis. However, someone trying to find a building will also find one... If you take a picture that is all black (0) and one pixel has a value of 1. If you know that a microbe should have an intensity of 100, and there is no other possibility other than "microbe"/"no microbe", then you can argue safely that somewhere in you pixel with intensity 1, there is a microbe 100 times smaller than the pixel. Unfortunately, such assumptions in real life are seldom possible. Some non-linear diffusion methods can be applied to restore edges while reducing noise. For example see works from Gilboa et al. (TIP, 11(7):689-703), or reduce partial volume effect (http://www.hindawi.com/GetArticle.aspx?pii=S168741880692092X). If you are interested I can give you more references. Olivier Salvado Case Western Reserve University [hidden email] -----Original Message----- From: ImageJ Interest Group [mailto:[hidden email]] On Behalf Of Michael Cammer Sent: Saturday, April 01, 2006 9:39 AM To: [hidden email] Subject: resolving subpixel resolution for complex human-like vision? Given the recent discussion of resolving sub-pixel resolution, I thought maybe the time was right to post the following question. We've been amassing a database of satellite/aerial images of Iraq pre-invasion from scanning newspapers and magazines and from various sources on the Internet. Now we'd like to use ImageJ to automatically do feature recognition to hunt for WMDs, maybe even to vindicate the intelligence community. Last week there was discussion of obtaining sub-pixel resolution by zooming up images 8X or more. If we zoomed up high enough, could we even resolve microbes that might signify a bioterrorism program? There seem to be a number of nifty plugins out there for automated feature recognition. Any help appreciated. _________________________________________ Michael Cammer DISCLAIMER: This electronic communication may contain completely frivolous material in honor of the traditional beginning of Spring "April Fool's Day". |
Michael
I love your work. Does ImageJ have a "find the suspect in the victim's iris reflection from the accidental onlooker's holiday snap" plugin yet? If not, why not? I saw it on CSI the other night... it must be possible. Please could you write me a plugin immediately. Regards Michael Olivier Salvado wrote: > Interpolation does not create information. When the resolution of an image > is increased by whatever interpolation scheme there is always the assumption > that the original signal was band-limited, including the optimal sinc > interpolator. If no anti-aliasing filter was used, stair-casing artifact > will be present and possibly some other artifacts. In other words, if an > object is smaller than a pixel (roughly), any information about that object > is gone forever. You can zoom 1000x, nothing is going to show up (unlike in > Hollywood movies). > > The only solution is to bring to the interpolation scheme some a > priori information, and that is very specific of course to the application. > Now, if you zoom 100x a satellite image whose original resolution was 100m > and you stare at the picture for an hour trying to detect a truck, I am sure > you will find one because your brain is going to pour a priori information > in your analysis. However, someone trying to find a building will also find > one... If you take a picture that is all black (0) and one pixel has a value > of 1. If you know that a microbe should have an intensity of 100, and there > is no other possibility other than "microbe"/"no microbe", then you can > argue safely that somewhere in you pixel with intensity 1, there is a > microbe 100 times smaller than the pixel. Unfortunately, such assumptions in > real life are seldom possible. > > Some non-linear diffusion methods can be applied to restore edges > while reducing noise. For example see works from Gilboa et al. (TIP, > 11(7):689-703), or reduce partial volume effect > (http://www.hindawi.com/GetArticle.aspx?pii=S168741880692092X). If you are > interested I can give you more references. > > Olivier Salvado > > Case Western Reserve University > [hidden email] > > > > -----Original Message----- > From: ImageJ Interest Group [mailto:[hidden email]] On Behalf Of > Michael Cammer > Sent: Saturday, April 01, 2006 9:39 AM > To: [hidden email] > Subject: resolving subpixel resolution for complex human-like vision? > > Given the recent discussion of resolving sub-pixel resolution, I thought > maybe the time was right to post the following question. We've been > amassing a database of satellite/aerial images of Iraq pre-invasion from > scanning newspapers and magazines and from various sources on the > Internet. Now we'd like to use ImageJ to automatically do feature > recognition to hunt for WMDs, maybe even to vindicate the intelligence > community. Last week there was discussion of obtaining sub-pixel > resolution by zooming up images 8X or more. If we zoomed up high enough, > could we even resolve microbes that might signify a bioterrorism program? > There seem to be a number of nifty plugins out there for automated feature > recognition. Any help appreciated. > > > > > _________________________________________ > Michael Cammer > DISCLAIMER: This electronic communication may contain completely > frivolous material in honor of the traditional beginning of Spring "April > Fool's Day". > -- Michael Doube BPhil BVSc MRCVS PhD Student Dental Institute Barts and The London School of Medicine and Dentistry Queen Mary, University of London New Rd London E1 1BB United Kingdom Phone +44 (0)20 7377 7000 ext 2681 |
In reply to this post by Michael Cammer
Hi,
(Happy 1st of April!?) ignoring for the moment signal-to-noise ratio issues which will usually soon limit any reasonable amount of "super"-resolution even with advanced techniques, the kind of sub-pixel-resolution methods discussed before where about getting sub-pixel information for edges of SUPER-pixel objects, kind of "egde sharpening", not of being able to tell what´s inside ONE pixel. Compare this with the classical resolution limit in microscopy: it´s not defined as the precision you can achieve in determining the position of a sub-lambda object (which can pretty easily be better than lambda/NA by using over-magnification, averaging, fitting etc.), but the ability to tell TWO very adjacent objects apart, in the classical definition (Rayleigh, Sparrow) you would like to see at least a small decrease in intensity between the two "blobs" to tell it´s two. "True" super-resolution instead is trying to tell, when you see a somewhat "larger blob", if this is caused by a slightly larger object, or by several distinct objects and to identify them. This can be tried by deconvolution techniques, which require a very good model of the transfer function that caused the degraded image and the amount of super-resolution is strongly limited by the signal-to-noise ratio, you could say logarithmically: a pretty large increase in S/N is required to get only a slight increase in the superresolution factor. So called "a-prio-information" can help, as is in fact the case in the above edge detection, where you already know/assume that you are dealing with a large object, constant over the resolution scale, so the only information you are seeking is the improved edge position, not any detail of the edge structure (sharp, soft, composed....). So, no chance for seeing microbes.... Joachim Michael Cammer <[hidden email] An: [hidden email] .EDU> Kopie: (Blindkopie: Joachim Wesner/DEWET/LMSCentral/Leica) Gesendet von: Thema: resolving subpixel resolution for complex human-like vision? ImageJ Interest Group <[hidden email] .GOV> 01.04.2006 16:38 Bitte antworten an ImageJ Interest Group Given the recent discussion of resolving sub-pixel resolution, I thought maybe the time was right to post the following question. We've been amassing a database of satellite/aerial images of Iraq pre-invasion from scanning newspapers and magazines and from various sources on the Internet. Now we'd like to use ImageJ to automatically do feature recognition to hunt for WMDs, maybe even to vindicate the intelligence community. Last week there was discussion of obtaining sub-pixel resolution by zooming up images 8X or more. If we zoomed up high enough, could we even resolve microbes that might signify a bioterrorism program? There seem to be a number of nifty plugins out there for automated feature recognition. Any help appreciated. _________________________________________ Michael Cammer DISCLAIMER: This electronic communication may contain completely frivolous material in honor of the traditional beginning of Spring "April Fool's Day". ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________________________________ |
In reply to this post by Michael Doube-2
Hi there,
somebody should really work on a plugin that allows you to change your point of view in photographs, so you can look what´s behind other objects. It must be possible, I saw it in a documentation I think it was called "blade runner". Any volunteers? If somebody has the algorithm, I would try! JW Michael Doube <[hidden email] An: [hidden email] .UK> Kopie: Gesendet von: Thema: Re: resolving subpixel resolution for complex human-like vision? ImageJ Interest Group <[hidden email] .GOV> 01.04.2006 18:19 Bitte antworten an ImageJ Interest Group Michael I love your work. Does ImageJ have a "find the suspect in the victim's iris reflection from the accidental onlooker's holiday snap" plugin yet? If not, why not? I saw it on CSI the other night... it must be possible. Please could you write me a plugin immediately. Regards Michael Olivier Salvado wrote: > Interpolation does not create information. When the resolution of an image > is increased by whatever interpolation scheme there is always the assumption > that the original signal was band-limited, including the optimal sinc > interpolator. If no anti-aliasing filter was used, stair-casing artifact > will be present and possibly some other artifacts. In other words, if an > object is smaller than a pixel (roughly), any information about that object > is gone forever. You can zoom 1000x, nothing is going to show up (unlike in > Hollywood movies). > > The only solution is to bring to the interpolation scheme some a > priori information, and that is very specific of course to the application. > Now, if you zoom 100x a satellite image whose original resolution was 100m > and you stare at the picture for an hour trying to detect a truck, I am sure > you will find one because your brain is going to pour a priori information > in your analysis. However, someone trying to find a building will also find > one... If you take a picture that is all black (0) and one pixel has a value > of 1. If you know that a microbe should have an intensity of 100, and there > is no other possibility other than "microbe"/"no microbe", then you can > argue safely that somewhere in you pixel with intensity 1, there is a > microbe 100 times smaller than the pixel. Unfortunately, such assumptions in > real life are seldom possible. > > Some non-linear diffusion methods can be applied to restore edges > while reducing noise. For example see works from Gilboa et al. (TIP, > 11(7):689-703), or reduce partial volume effect > (http://www.hindawi.com/GetArticle.aspx?pii=S168741880692092X). If you are > interested I can give you more references. > > Olivier Salvado > > Case Western Reserve University > [hidden email] > > > > -----Original Message----- > From: ImageJ Interest Group [mailto:[hidden email]] On Behalf Of > Michael Cammer > Sent: Saturday, April 01, 2006 9:39 AM > To: [hidden email] > Subject: resolving subpixel resolution for complex human-like vision? > > Given the recent discussion of resolving sub-pixel resolution, I thought > maybe the time was right to post the following question. We've been > amassing a database of satellite/aerial images of Iraq pre-invasion from > scanning newspapers and magazines and from various sources on the > Internet. Now we'd like to use ImageJ to automatically do feature > recognition to hunt for WMDs, maybe even to vindicate the intelligence > community. Last week there was discussion of obtaining sub-pixel > resolution by zooming up images 8X or more. If we zoomed up high enough, > could we even resolve microbes that might signify a bioterrorism program? > There seem to be a number of nifty plugins out there for automated feature > recognition. Any help appreciated. > > > > > _________________________________________ > Michael Cammer > DISCLAIMER: This electronic communication may contain completely > frivolous material in honor of the traditional beginning of Spring "April > Fool's Day". > -- Michael Doube BPhil BVSc MRCVS PhD Student Dental Institute Barts and The London School of Medicine and Dentistry Queen Mary, University of London New Rd London E1 1BB United Kingdom Phone +44 (0)20 7377 7000 ext 2681 ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________________________________ |
In reply to this post by Olivier Salvado
Hi. There is a tutorial on the IJ website, but I'll tell you all my settings for the project in NetBeans the way I have it set up:
1. Properties>Sources points to C:\myproject\myBuilds\ImageJPlugins 2. Source Package Folders points to C:\myproject\mysrc\plugins 3. Build>Compile Time Libraries points to the ij.jar file and source 4. Build>Packaging points to c:\ImageJ/plugins/myplugins_.jar 5. The working directory is C:\ImageJ. 6. The main class for the project is the following: import ij.ImageJ; import ij.plugin.PlugIn; public class RunIJ implements PlugIn{ /** Main method in case user wants to double click. Starts ImageJ. * @param args String array */ public static void main (String args[]) { new ImageJ (); } public void run(String args) {new ImageJ ();} } Hello Audrey, I read your email regarding ImageJ and Netbeans with excitement. I tried 2 years ago editing ImageJ with Netbeans but had tremendous trouble at the beginning. Is it possible that you explain how to import ImageJ into NetBeans? I would really appreciate your help! Best regards, Roland Talanow ******************************************** *** * * * * *** ******************************************** * Roland Talanow, M.D., Ph.D. * Email: [hidden email] * Internet: http://www.talanow.info ******************************************** *** * * * * *** ******************************************** -----Original Message----- From: ImageJ Interest Group [mailto:[hidden email]] On Behalf Of audrey karperien Sent: Sunday, April 09, 2006 4:25 AM To: [hidden email] Subject: Re: NetBeans and Image Hi. The jar file has to have an underscore in its name, e.g., myplugin_.jar. On the project in NetBeans, I right mouse ! click then click Properties>Build>Packaging, then under JAR file I have the path to the jar file in the plugins directory. NetBeans compiles it and puts it there and ImageJ sees it when I run it under NetBeans or by itself. "Divakar@Yahoo" <[hidden email]> wrote: Thanks. Would the jar file work the same as a .class file that plugins are usually made available as, for use on another lab machine where I do not have NetBeans installed? And how is this set in NetBeans? Regards, Divakar --- audrey karperien wrote: > Oops. I meant to say that the class file has to be compiled > into a jar file in the plugins directory. > > audrey karperien wrote: I use NetBeans > 4.1, and I have to specify that the class file gets compiled > into the plugins directory. > > > "Divakar@Yahoo" wrote: > Hi all, > > I have followed instructions at > http://rsb.info.nih.gov/ij/developer/NBTutorial.html and have > the following question: > > I copied ! the source for a plugin into a folder > under plugins. The plugin source as well as the main ImageJ > project compiles and runs without > complaint. However, when I select the plugin from > Plugins menu, I get a dialog box saying "Plugin not > found: plugin-name". > > Is there any class path to be set somewhere so that the > plugin class file that has been created under the > plugins\sub-folder folder can be found by the ImageJ running > through NetBeans IDE? I have tried changing ImageJ properties > but so far not found anything useful. > > Thanks, > Div. > > > > __________________________________________________________ > Yahoo! India Matrimony: Find your partner now. Go to > http://yahoo.shaadi.com > --------------------------------- Divakar@Yahoo --------------------------------- __________________________________________________________ Yahoo! India Matrimony: Find your partner now. Go to http://yahoo.shaadi.com |
Audrey and Wayne,
Thanks for your responses. I have played around with this problem and I find this seems to be a quirk of my netbeans installation which I am unable to correct. To get plugins in a sub-folder of the plugins folder to work, I need to: 1. Create the sub-folder as a new package 2. Create the plugin as described in the netbeans tutorial 3. Move the plugin to the default package under plugins and let netbeans do "refactoring" 4. Move the plugin source back to the original package and let netbeans do the refactoring again Don't know why this works, but it works and I no longer get the "Plugin not found" message. Just one comment about the ImageJ website: Under developer resources, would it not be better to have a link to the netbeans tutorial? I 'discovered' the tutorial using Google. Regards, Divakar --- audrey karperien <[hidden email]> wrote: > Hi. There is a tutorial on the IJ website, but I'll tell you > all my settings for the project in NetBeans the way I have it > set up: > 1. Properties>Sources points to > C:\myproject\myBuilds\ImageJPlugins > 2. Source Package Folders points to > C:\myproject\mysrc\plugins > 3. Build>Compile Time Libraries points to the ij.jar file > and source > 4. Build>Packaging points to > c:\ImageJ/plugins/myplugins_.jar > 5. The working directory is C:\ImageJ. > 6. The main class for the project is the following: > import ij.ImageJ; > import ij.plugin.PlugIn; > public class RunIJ implements PlugIn{ > /** Main method in case user wants to double click. > Starts ImageJ. > * @param args String array > */ > public static void main (String args[]) > { > > new ImageJ (); > > } > public void run(String args) > {new ImageJ ();} > } > > > Hello Audrey, I read your email regarding ImageJ and Netbeans > with excitement. I tried 2 years ago editing ImageJ with > Netbeans but had tremendous trouble at the beginning. Is > it possible that you explain how to import ImageJ into > NetBeans? I would really appreciate your help! Best > regards, Roland Talanow > ******************************************** *** * * * * *** > ******************************************** * Roland > Talanow, M.D., Ph.D. * Email: [hidden email] * > Internet: http://www.talanow.info > ******************************************** *** * * * * *** > ******************************************** > -----Original Message----- From: ImageJ Interest Group > [mailto:[hidden email]] On Behalf Of audrey karperien > Sent: Sunday, April 09, 2006 4:25 AM To: [hidden email] > Subject: Re: NetBeans and Image Hi. The jar file has to > have an underscore in its name, e.g., myplugin_.jar. On the > project in NetBeans, I right mouse ! > click > then click Properties>Build>Packaging, then under JAR file > I have the path to the jar file in the plugins directory. > NetBeans compiles it and puts it there and ImageJ sees it > when I run it under NetBeans or by itself. > "Divakar@Yahoo" <[hidden email]> wrote: Thanks. Would > the jar file work the same as a .class file that plugins are > usually made available as, for use on another lab machine > where I do not have NetBeans installed? And how is this set > in NetBeans? Regards, Divakar --- audrey karperien > wrote: > Oops. I meant to say that the class file has to be > compiled > into a jar file in the plugins directory. > > > audrey karperien wrote: I use NetBeans > 4.1, and I have to > specify that the class file gets compiled > into the plugins > directory. > > > "Divakar@Yahoo" wrote: > Hi all, > > > I have followed instructions at > > http://rsb.info.nih.gov/ij/developer/NBTutorial.html and have > > the following question: > > I copied ! > the > source for a plugin into a folder > under plugins. The > plugin source as well as the main ImageJ > project compiles > and runs without > complaint. However, when I select the > plugin from > Plugins menu, I get a dialog box saying "Plugin > not > found: plugin-name". > > Is there any class path to > be set somewhere so that the > plugin class file that has > been created under the > plugins\sub-folder folder can be > found by the ImageJ running > through NetBeans IDE? I have > tried changing ImageJ properties > but so far not found > anything useful. > > Thanks, > Div. > > > > > __________________________________________________________ > > Yahoo! India Matrimony: Find your partner now. Go to > > http://yahoo.shaadi.com > > --------------------------------- Divakar@Yahoo > --------------------------------- > __________________________________________________________ > Yahoo! India Matrimony: Find your partner now. Go to > http://yahoo.shaadi.com > __________________________________________________________ Yahoo! India Matrimony: Find your partner now. Go to http://yahoo.shaadi.com |
Hi. Do you have to go through this every time you change the source code and compile or just once for each plugin?
"Divakar@Yahoo" <[hidden email]> wrote: Audrey and Wayne, Thanks for your responses. I have played around with this problem and I find this seems to be a quirk of my netbeans installation which I am unable to correct. To get plugins in a sub-folder of the plugins folder to work, I need to: 1. Create the sub-folder as a new package 2. Create the plugin as described in the netbeans tutorial 3. Move the plugin to the default package under plugins and let netbeans do "refactoring" 4. Move the plugin source back to the original package and let netbeans do the refactoring again Don't know why this works, but it works and I no longer get the "Plugin not found" message. Just one comment about the ImageJ website: Under developer resources, would it not be better to have a link to the netbeans tutorial? I 'discovered' the tutorial using Google. Regards, Divakar --- audrey karperien wrote: > Hi. There is a tutorial on the IJ website, but I'll tell you > all my settings for the project in NetBeans the way I have it > set up: > 1. Properties>Sources points to > C:\myproject\myBuilds\ImageJPlugins > 2. Source Package Folders points to > C:\myproject\mysrc\plugins > 3. Build>Compile Time Libraries points to the ij.jar file > and source > 4. Build>Packaging points to > c:\ImageJ/plugins/myplugins_.jar > 5. The working directory is C:\ImageJ. > 6. The main class for the project is the following: > import ij.ImageJ; > import ij.plugin.PlugIn; > public class RunIJ implements PlugIn{ > /** Main method in case user wants to double click. > Starts ImageJ. > * @param args String array > */ > public static void main (String args[]) > { > > new ImageJ (); > > } > public void run(String args) > {new ImageJ ();} > } > > > Hello Audrey, I read your email regarding ImageJ and Netbeans > with excitement. I tried 2 years ago editing ImageJ with > Netbeans but had tremendous trouble at the beginning. Is > it possible that you explain how to import ImageJ into > NetBeans? I would really appreciate your help! Best > regards, Roland Talanow > ******************************************** *** * * * * *** > ******************************************** * Roland > Talanow, M.D., Ph.D. * Email: [hidden email] * > Internet: http://www.talanow.info > ******************************************** *** * * * * *** > ******************************************** > -----Original Message----- From: ImageJ Interest Group > [mailto:[hidden email]] On Behalf Of audrey karperien > Sent: Sunday, April 09, 2006 4:25 AM To: [hidden email] > Subject: Re: NetBeans and Image Hi. The jar file has to > have an underscore in its name, e.g., myplugin_.jar. On the > project in NetBeans, I right mouse ! > click > then click Properties>Build>Packaging, then under JAR file > I have the path to the jar file in the plugins directory. > NetBeans compiles it and puts it there and ImageJ sees it > when I run it under NetBeans or by itself. > "Divakar@Yahoo" wrote: Thanks. Would > the jar file work the same as a .class file that plugins are > usually made available as, for use on another lab machine > where I do not have NetBeans installed? And how is this set > in NetBeans? Regards, Divakar --- audrey karperien > wrote: > Oops. I meant to say that the class file has to be > compiled > into a jar file in the plugins directory. > > > audrey karperien wrote: I use NetBeans > 4.1, and I have to > specify that the class file gets compiled > into the plugins > directory. > > > "Divakar@Yahoo" wrote: > Hi all, > > > I have followed instructions at > > http://rsb.info.nih.gov/ij/developer/NBTutorial.html and have > > the following question: > > I copied ! > the > source for a plugin into a folder > under plugins. The > plugin source as well as the main ImageJ > project compiles > and runs without > complaint. However, when I select the > plugin from > Plugins menu, I get a dialog box saying "Plugin > not > found: plugin-name". > > Is there any class path to > be set somewhere so that the > plugin class file that has > been created under the > plugins\sub-folder folder can be > found by the ImageJ running > through NetBeans IDE? I have > tried changing ImageJ properties > but so far not found > anything useful. > > Thanks, > Div. > > > > > __________________________________________________________ > > Yahoo! India Matrimony: Find your partner now. Go to > > http://yahoo.shaadi.com > > --------------------------------- Divakar@Yahoo > --------------------------------- > __________________________________________________________ > Yahoo! India Matrimony: Find your partner now. Go to > http://yahoo.shaadi.com > __________________________________________________________ Yahoo! India Matrimony: Find your partner now. Go to http://yahoo.shaadi.com |
Free forum by Nabble | Edit this page |