I will first admit that I had no idea that AstroImageJ existed - so much for my googling skills.
I have been involved with a project that extracts images of galaxies from the Sloan Sky Survey (SDSS10). We refer to each extraction as a "cutout," a sub-image of arbitrary x,y size that includes just the galaxy and a small surrounding buffer region. To do this, I experimented and created a custom algorithm using various ImageJ plugins to create such cutouts from a FITS file. Using the requisite parts of different ImageJ plugin codebases, I then wrote a custom ImageJ plugin that automated the process. I did this instead of writing a macro because much of the work involved ImageJ's particle analysis capabilities and it looked like I couldn't skip certain dialogs when using a macro. I may have been wrong about this but we wrote the custom plug-in because for other parts of our project we also needed output that didn't include ImageJ's typical particle parameters. We also wanted flexibility to modify the code in unusual ways if we had to.
Regardless, the code did not discriminate between "star cutouts" and "galaxy cutouts." We adapted a database to determine which cutouts /should/ be galaxies (based on RA/dec) and automated the discarding of non-galaxy cutouts; however, that process was not perfect. Long story short, we've gone through a large part of the SDSS and now have a bazillion cutouts, most of which are galaxies, but some of which are just stars (perhaps because the cutout contained a star and a galaxy in close proximity).
OK that's the setup and I hope it makes at least a little sense. I was trying to think of a way to further automate ImageJ to look at the cutouts and make a determination as to whether they were likely to be stars (often with what I would refer to as high saturation and lens flare) or galaxies (typically without such artifacts). We are looking to keep the cutouts which, to the normal eye, are obviously galaxies and exclude the cutouts which, to the normal eye, are obviously stars, or an unusable combination of the two, or a cutout result that was bogus. The eye can make this determination rapidly but I'm looking to automate the process, at least in part, as a first run to reduce the eventual manual labor.
It occurred to me to write a back-prop neural net and train it to perform the include/exclude process, but I'm aware of how much work that might be. While surmising about this, I suddenly came upon AstroImageJ, and haven't read much yet about what it can do. My question (finally) is whether AstroImageJ might have anything even remotely similar to this star-vs-galaxy recognition process, or if anyone has any brilliant ideas.
I'm aware that this description might lack some clarity. I'll be happy to answer any questions.
Re: code to distinguish between stars and galaxies?
Unfortunately, AstroImageJ current has no such automated capability
built in. I personally have no experience with galaxy vs. star
recognition, but I would guess that a larger FWHM than the image average
might be indicative of a galaxy. The photometer in AIJ measures FWHM,
but you would need to direct the photometer to the objects of interest
either by hand or with a peak finding algorithm.
I you do develop a plugin that works with base IJ, I would be happy to
help integrate it as an AIJ feature.