[gsoc18] New Astronomy Library

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
24 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: New Astronomy Library

Boost - Dev mailing list
On 13 February 2018 at 05:45, Pranam Lashkari via Boost <
[hidden email]> wrote:

> ... As we all know that python is one of the
> easiest languages to learn. Not all scientists are programmers and maybe
> that's why they find python and Astropy easy to use.
>

The above is being repeated over and over and over again. I find python
anything but easy to learn, it's rather confusing actually (and verbose).
If you would want an easy (a little over 20 keywords), versatile language
(with some rather advanced ideas), pick Lua.


> ... build a similar structure to the same library?


Isn't it a python lib using NumPy? You're gonna provide language bindings?


> It will make things easier for those scientists who do not have
> much time to learn a new programming language and this will make the
> transition easier from python to C++.
>

If you're a scientist, I doubt you'll decide to move from Python to C++ (or
C for that matter)... Tensorflow has a C++ API, it's so underused that the
documentation of that API is missing many bits.

If you cannot program, trying to do that in C++ is gonna be a very
frustrating experience (as in not making any progress whatsoever, which
means no research grants), iff you have to start from scratch.


> Is it a good idea?
>

Hard to say. Maybe you could explain (to the community) what you would like
to achieve in terms of "deliverable(s)", i.e. what will the end result be
(as in, what kind of thing).

The issue is maybe/possibly that Astronomy, as a field, seems to be rather
niche for a general library as Boost.

degski

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: New Astronomy Library

Boost - Dev mailing list
Sorry for taking too long to replay as I was talking to one of my friends
who is a scientist and works in an observatory.

I completely agree with you that scientist would not move from Python to
C++ easily. But Astronomical data are getting bigger in size and Python
takes too much time to compute them (according to my scientist friend).
That's where C++ can be a dramatic improvement.

Coming to the point of the structure of the library, when I said that we
can follow the structure of Astropy I meant "class structure"(class
hierarchy) and API.


*Now the point is what we can do with this library:*
In observatories to make day to day programming easy, these are some
specific topics which can be covered here,

   1. Noise reduction in astronomical data(various algorithms)
   2. Galaxy morphological classification(classification based on visual
   appearance)
   3. Comparison of images(To find the motion of moving object in space)
   4. Object detection
   5. Light curves of variable stars
   6. Spectroscopy

Above mentioned topics were suggested to me because these are used on daily
basis and can make things faster.

now coming to the amateurs

   1. the coordinate system can help to plan out observations.
   2. reading data from a file(astronomical catalogs)
   3. Creating observation lists

*So the ultimate goal of this library would be to make day to day astronomy
easy and faster by providing features that are used on daily basis by
professionals and amateurs.*

thank you.
pranam lashkari.


On Tue, Feb 13, 2018 at 7:39 PM, degski via Boost <[hidden email]>
wrote:

> On 13 February 2018 at 05:45, Pranam Lashkari via Boost <
> [hidden email]> wrote:
>
> > ... As we all know that python is one of the
> > easiest languages to learn. Not all scientists are programmers and maybe
> > that's why they find python and Astropy easy to use.
> >
>
> The above is being repeated over and over and over again. I find python
> anything but easy to learn, it's rather confusing actually (and verbose).
> If you would want an easy (a little over 20 keywords), versatile language
> (with some rather advanced ideas), pick Lua.
>
>
> > ... build a similar structure to the same library?
>
>
> Isn't it a python lib using NumPy? You're gonna provide language bindings?
>
>
> > It will make things easier for those scientists who do not have
> > much time to learn a new programming language and this will make the
> > transition easier from python to C++.
> >
>
> If you're a scientist, I doubt you'll decide to move from Python to C++ (or
> C for that matter)... Tensorflow has a C++ API, it's so underused that the
> documentation of that API is missing many bits.
>
> If you cannot program, trying to do that in C++ is gonna be a very
> frustrating experience (as in not making any progress whatsoever, which
> means no research grants), iff you have to start from scratch.
>
>
> > Is it a good idea?
> >
>
> Hard to say. Maybe you could explain (to the community) what you would like
> to achieve in terms of "deliverable(s)", i.e. what will the end result be
> (as in, what kind of thing).
>
> The issue is maybe/possibly that Astronomy, as a field, seems to be rather
> niche for a general library as Boost.
>
> degski
>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/
> mailman/listinfo.cgi/boost
>

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: New Astronomy Library

Boost - Dev mailing list
Hi Pranam,

> On 22. Feb 2018, at 15:14, Pranam Lashkari via Boost <[hidden email]> wrote:
>
> Sorry for taking too long to replay as I was talking to one of my friends
> who is a scientist and works in an observatory.
>
> I completely agree with you that scientist would not move from Python to
> C++ easily. But Astronomical data are getting bigger in size and Python
> takes too much time to compute them (according to my scientist friend).
> That's where C++ can be a dramatic improvement.

I am a scientist and I work in the field of (astro)particle physics. I also happen to know one of the leading developers of gammapy and astropy.

I think that "Python takes too much time to compute" is not a good argument for your project. Most of the computation in packages like astropy and gammapy is based on numpy which is very fast. And where it is not fast enough, people who already use Python will rather use acceleration techniques such as Cython and Numba. C++ is a hard language, difficult to learn and almost impossible to master. As a scientist you want to spend a maximum of time doing science, and a minimum amount of time understanding computer code and the lovely error messages that template-heavy code produces. Also keep in mind that science is about short-term projects with a high fluctuation of personell. The ease of using and learning Python in this context greatly outweighs potential performance issues. As a project leader, you don't want to spend many months getting the new people up to speed with tricky software. You would clearly prefer Python solutions over C++ solutions whenever possible.

In summary, no, I don't think that a C++ astronomy library in Boost will be a hit. I recommend you join forces with astropy, ask them which algorithms are slow, and try to speed them up by writing them in C++, using Boost.Python or pybind11 for the Python bindings.

Best regards,
Hans

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: New Astronomy Library

Boost - Dev mailing list
Yes maybe you are right.
This idea does not seem promising for the community so i should drop this
idea here and focus on something better.

Thank you.
Pranam Lashkari.

On 22-Feb-2018 10:25 PM, "Hans Dembinski" <[hidden email]> wrote:

> Hi Pranam,
>
> > On 22. Feb 2018, at 15:14, Pranam Lashkari via Boost <
> [hidden email]> wrote:
> >
> > Sorry for taking too long to replay as I was talking to one of my friends
> > who is a scientist and works in an observatory.
> >
> > I completely agree with you that scientist would not move from Python to
> > C++ easily. But Astronomical data are getting bigger in size and Python
> > takes too much time to compute them (according to my scientist friend).
> > That's where C++ can be a dramatic improvement.
>
> I am a scientist and I work in the field of (astro)particle physics. I
> also happen to know one of the leading developers of gammapy and astropy.
>
> I think that "Python takes too much time to compute" is not a good
> argument for your project. Most of the computation in packages like astropy
> and gammapy is based on numpy which is very fast. And where it is not fast
> enough, people who already use Python will rather use acceleration
> techniques such as Cython and Numba. C++ is a hard language, difficult to
> learn and almost impossible to master. As a scientist you want to spend a
> maximum of time doing science, and a minimum amount of time understanding
> computer code and the lovely error messages that template-heavy code
> produces. Also keep in mind that science is about short-term projects with
> a high fluctuation of personell. The ease of using and learning Python in
> this context greatly outweighs potential performance issues. As a project
> leader, you don't want to spend many months getting the new people up to
> speed with tricky software. You would clearly prefer Python solutions over
> C++ solutions whenever possible.
>
> In summary, no, I don't think that a C++ astronomy library in Boost will
> be a hit. I recommend you join forces with astropy, ask them which
> algorithms are slow, and try to speed them up by writing them in C++, using
> Boost.Python or pybind11 for the Python bindings.
>
> Best regards,
> Hans

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
12