> Looks like base/sparsematrix isn't used -- scrap it!
Done.
> Ugh, base/datalog is not ever really used either... I think I was
> thinking of it as a way for one piece of code to "pipe" data (say,
> python literals) somewhere... but never went anywhere with it. Feel
> free to remove it.
It's included in blind/verify.c.
> Looks like astrometry/blind/pnpoly is not used, likewise
> astrometry/blind/addtext.c.
pnpoly is included in blind/catalog_analysis.c while catalog_analysis is
not used anywhere -- remove both?
addtext is removed.
> astrometry/blind/an_mm_malloc should go to simplexy?
True.
> fileutils could merge with ioutils.
Hm, maybe we can rather split it up like pythons os and os.path modules,
so functions which only do stuff on strings without any io are fileutils
(or pathutils) and the rest ioutils. It seems currently that both have a
mix of both types.
> "base-advanced" could be renamed "image", since those are sort-of all
> imaging operations
Ok, the only thing sticking out would be the 1D histogram. This is only
needed by blind currently, maybe put it there? It's probably not
intended to be part of any public interface anyway, so we are free to
move it around later on I guess.
> I'm surprised that astrometry/catalogs depends on astrometry/files...
> oh, it's starkd. I see.
Yeah that surprised me too, I think let's leave it for now and maybe
come back to it later.
> There is one more category of file you may want to distinguish: the
> "cfitsio" library comes with some "example" programs that are actually
> super-useful: liststruc, tablist, listhead, fitscopy, imcopy, modhead,
> imarith, imstat. These are in astrometry/blind right now but they are
> not at all astrometry.net-specific -- I think they're straight-up
> copied from cfitsio.
Are these used at all anywhere? If not then I'm kind of against
including them. I mean, if they are useful for some types of work, then
just install cfitsio on your machine. You say they are example programs,
so some may not be available with a package-manager install. But really,
if it's just about having those tools conveniently installable, then
let's create a separate repository for that where you then just do...
git clone... && cmake . && make install.
> I should separate "core" and "non-core" code in astrometry/blind --
> lots of stuff in there is old junk not really used any more.
Definitely!
> So, one thing that hadn't occurred to me until now: if "base" is
> outside "astrometry", then we have to write #include "base/X.h", which
> isn't very specific... I moved everything into the astrometry/
> directory/namespace to avoid namespace pollution. (In the bad old
> days I think I had a "config.h" in the base directory!) Do you have
> any thoughts on what to do about this?
I think the config.h still gets created somehow looking at the
makefiles, but I'm not sure. Or it was os-features-config.h, right.
Well, base is generic, yes. What we could do is not to treat it as a
separate library but rather as a mixin. Which means that we would put
base into a new github repo astrometry/base with a (C)Makefile which
just creates os-features-config.h and possibly sets some variables. Then
in the astrometry repo we create a git submodule inside astrometry/ such
that base is now available via astrometry/base. The same for libkd etc.
This also has the advantage that the project can pick which files it
actually needs from base, and which public headers. I'm not totally sure
but I think this should be easily doable with Makefiles and also CMake.
> Thanks for all your work here -- this is looking great!
The least I can do! Without
astrometry.net I wouldn't have had a job
last year! (Hint: google for esa aurora dataset ;)
Cheers
Maik