Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Should we provide a scarlet executable? #175

Open
pmelchior opened this issue May 25, 2020 · 1 comment
Open

Should we provide a scarlet executable? #175

pmelchior opened this issue May 25, 2020 · 1 comment

Comments

@pmelchior
Copy link
Owner

This Q came up on several occasions. In the spirit of having our development discussions in public, I'll open this up to a wider audience with my take on it.

I think: no.

I see the benefit of providing an executable that reproduces e.g. what our quickstart guide does. Users not too familiar with the concept of an analysis framework could still run scarlet for tasks that are similar to this example use case. An executable is also nice for repetitive tasks.

But this is where it gets murky. To provide an executable, we need to have a standardized data interface for images, PSFs, weights, maybe detection catalogs. That's conceptually simple, but hard in practice given the diversity of data formats and WCS headers, etc. We'd also be forced to make decisions what to fit (e.g. PointSource vs ExtendedSource) for every detected source. And finally provide a standardized set of measurements or, more generally, modeling results.

My view is that instead of making those assumptions, we should rather provide the building blocks for a pipeline that has a logical and concise API, as well as helper methods to use them effectively. I'd love to see someone build one or several executables from scarlet whenever the above interface and modeling decisions are clear, but as a separate package.

Vote with thumbs up/down to the question above (not my response to it).

@herjy
Copy link
Collaborator

herjy commented Jun 2, 2020

I'm actually about to write a sort of executable for my multi-resolution features to be able to use it more broadly on simulations without having to write the whole notebook with all its steps. However, I don't know how general this executable could really be, and I'm not in favour of having it in the repository or even to advertise it. It would be a lot of work to make it general enough so that people could confidently use it and I don't think it's worth it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants