help-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Checking GSL for Spectroscopy


From: Mohammad Akhlaghi
Subject: Re: Checking GSL for Spectroscopy
Date: Tue, 16 Mar 2021 17:18:57 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1

Hi Fritz,

I am happy the short assessment was useful, thanks also for your thoughts on Gnuastro ;-).

The longevity issue that you mentioned is indeed the same reason that I use C myself: since modern operating systems are written in C, it will not change significantly in the foreseeable future! In fact when I first started Gnuastro, so many people asked me "why not use Python?" that I had to write the following section to the manual, justifing "Why C?":

https://www.gnu.org/software/gnuastro/manual/html_node/Why-C.html

GSL itself has no dependencies, only a minimal C compiler and standard C library, which is very good in terms of longevity (thanks so much to all the maintainers over the years).

However, what you mentioned about "keep it on terms that they can maintain" is also very important, so be sure to coordinate your choice with their capabilities.

Good luck on the spectral analysis library,
Cheers,
Mohammad

On 3/16/21 4:58 PM, Fritz Sonnichsen wrote:
Thank you Mohammad. I looked at your web page and you do exciting stuff!
Your assessment of GSL is what I needed. I think the manual is well written and tells me what I can do with it--as you mention the higher level details applied to a specific area of science probably require another added package- or at least writing the software "in house". I probably will proceed that way. One difficulty is that this code will probably eventually get handed off to a biologist and a software engineer--so I need to try to keep it on terms that they can maintain.      I also need to be sure that a language (e.g. GSL) will stay around long term---seems like that is a problem these days.  In addition I find that a lot of the "post C" languages can get very cluttered in the wrong hands and tend so stick with C as a science language especially for code destined to other people (perhaps I am showing my age!).    Regarding AI and Machine Learning it is rather new to me and I probably will not be involved other than using openCV for image processing. I just want to track if any of it has been accommodated by existing routines, but I guess it is rather broad and subject to its own packages-

Cheers
Fritz


On Tue, Mar 16, 2021 at 9:55 AM Mohammad Akhlaghi <mohammad@akhlaghi.org <mailto:mohammad@akhlaghi.org>> wrote:

    Hi Fritz,

    GSL is a low-level/fundamental/core numeric analysis library providing
    the low-level tools for numeric operations that are common in many
    different science applications.

    So for example in GNU Astronomy Utilities (that I am maintaining), we
    heavily rely on many of GSL's low-level tools and use them extensively
    for astronomical data analysis. It is the same for many other
    scientific
    software (they use GSL for low-level computationally hard operations).

    So if you want to write a high-level spectral analysis library/program
    many of the computational tools you'll need are in GSL (for example for
    fitting emission lines or the continuum, or convolving/smoothing data
    and many more things), but you have to write the wrapper functions to
    use them in the special context you need in your spectral analysis.

    About AI, I think its out of GSL's scope (similar to the logic above:
    GSL is a low-level/fundamental library)! I am not a GSL maintainer, but
    this is just what I feel given the current set of tools it provides.

    Cheers,
    Mohammad


    On 3/16/21 1:25 PM, Mike Marchywka wrote:
     > Can you comment on how you compare spectra? Just for my own
     > personal interest, not sure if will further the thread here however..
     > Not sure a "dot product" in the conventional sense would help much.
     > You could imagine comparing peak positions and relative heights
     > or a fit to a continuum for example.  Peaks plus black body in some
     > vector comparison?
     >
     > note new address
     >   Mike Marchywka 306 Charles Cox Drive Canton, GA 30115
     >   2295 Collinworth  Drive Marietta GA 30062.  formerly 487 Salem
    Woods Drive Marietta GA 30067 404-788-1216 (C)<- leave message
    989-348-4796 (P)<- emergency
     >
     >
     > ________________________________________
     > From: Help-gsl <help-gsl-bounces+marchywka=hotmail.com@gnu.org
    <mailto:hotmail.com@gnu.org>> on behalf of Fritz Sonnichsen
    <sonnichs@gmail.com <mailto:sonnichs@gmail.com>>
     > Sent: Tuesday, March 16, 2021 9:15 AM
     > To: help-gsl@gnu.org <mailto:help-gsl@gnu.org>
     > Subject: Checking GSL for Spectroscopy
     >
     > I am preparing to convert MATLAB code to something more general.
    The new
     > code will run on LInux and ARM processors.
     >     For a lot of reasons I am not going to use Python. We also
    want to
     > keep this project "close" to scientists and do not want to turn
    it into a
     > full time computer programming job. So the final word is that I
    am looking
     > for something that can be called by (and hopefully is written) in
    C. Worse
     > case I will just write the code myself but would prefer to start
     > integrating our systems into something with a lot of pre-written
    and vetted
     > routines.
     >
     > GSL looks like a good choice. Maybe R comes next. We have a mix
    of needs
     > but I will point out a few:
     > 1) Baselining a spectrum
     > 2) Finding peaks in that spectrum
     > 3) using Pearson correlation to compare the spectrum QUICKLY to
     > about 50,000 recorded examples.
     >
     > We also have some uses with basic statistics and we do some image
     > processing.
     >
     > So my question is--does GSL position itself in these areas?
    MATLAB (with
     > packages) does them all.
     >       I am not sure how active GSL, if it is keeping up with AI,
    imaging and
     > spectroscopy--or is it fading or giving way to popular languages for
     > example. I was surprised that the 600+ page manual did not seem
    to show
     > anything relating to the simple spectral analysis described above for
     > example. Certainly I can search the web for others' code but at
    some point
     > if I cannot attach to a well established product I will just write it
     > myself.
     >
     > Any comments appreciated
     > thanks
     > Fritz
     >




reply via email to

[Prev in Thread] Current Thread [Next in Thread]