[racket] Hello and a few questions
Neil's being way too kind when he mentions RSound. It's true that I add DSP
functions into RSound as I need them for first-year classes, but I would
*love* to see / help with a real DSP library. It seems to me like such a
library would probably be built on ... 1-d Arrays of Float? ... and
probably use typed racket for speed. If you have experience using SciPy's
DSP libraries, it would be lovely to see a "wish list" of the most
important functions and abstractions that they use.
On Wed, Feb 4, 2015 at 9:31 AM, Neil Toronto <neil.toronto at gmail.com> wrote:
> Awesome! It's great to have you with us.
>
> On 02/04/2015 05:28 AM, Marmaduke Woodman wrote:
>
>>
>> [...]
>>
>> 1) The plotting library doesn't seem to have the equivalent of
>> MATLAB/MatPlotLib's imagesc/imshow, which simply plots a rectangular
>> colormap of the matrix. [1]
>>
>
> You can use Plot and `images/flomap` together to do this, but it would be
> nice to make it easier.
>
> To get you started, here's an adaptation of the plotting example from the
> "Overview" section of the flomap docs:
>
>
> #lang racket
>
> (require images/icons/misc ; for bomb-flomap
> plot/utils ; for color-seq
> images/flomap
> plot)
>
> (define icon-fm (bomb-flomap #:bomb-color "orange" #:height 64))
> (flomap->bitmap icon-fm)
>
> (define-values (icon-width icon-height) (flomap-size icon-fm))
>
> ;; Plot the red channel
> (plot (contour-intervals
> (λ (x y) (flomap-bilinear-ref icon-fm 1 x (- icon-height y)))
> #:levels 10
> #:colors (λ (ivls) (color-seq "black" "white" (length ivls)))
> #:contour-styles '(transparent)
> #:samples (+ 1 icon-height)
> -0.5 (+ 0.5 icon-width)
> -0.5 (+ 0.5 icon-height)))
>
> 2) Arbitrary meshes in 3D: say I have a set of vertices and triangles.
>> How can I plot the mesh and change edge & face properties? Given that 3D
>> surface plotting is possible, plotting meshes seems necessarily possible
>> but is not documented. Do I need to use GL for this?
>>
>
> Previously, Plot could only handle meshes that had two dimensions aligned
> to a grid. Now it has a decent 3D backend that can handle any mesh, but I
> haven't added a `triangles` function to it yet.
>
> The "pict3d" package, which uses OpenGL, can do this easily, but it's not
> ready for serious use yet. I just got it to run on all 3 of our officially
> supported platforms (Windows, Mac, Linux).
>
> 3) The array & linear algebra libraries were a happy find. Is there any
>> way I can contribute there?
>>
>
> Yes. Very yes! We most need a `math/signal` module, and matrix LUP, SVD,
> and Eigen decompositions.
>
> I'd like to hook the matrix library into LAPACK on systems where it's
> available. But defining FFIs as an advanced task, worth trying only after
> you've programmed in Racket for a while.
>
> Are there plans to flesh out a larger set of
>> scientific libraries as in SciPy (optimization, signal processing, for
>> example)
>>
>
> Yes! If you'd like to work on any of these, we'd love it if you'd
> contribute.
>
> Be aware that, like SciPy, we can't accept anything derived from
> GPL-licensed code such as the GNU Scientific Library or R's standard
> library. We *can* accept anything derived from code licensed at least as
> permissively as ours (which is LGPL), such as SciPy (which is BSD) or C++'s
> Boost (which has its own permissive license).
>
> 4) Do any signal processing packages currently exist? I couldn't find
>> anything on planet. Specifically I'd just like to design and apply a
>> Butterworth filter to data, so maybe I can write that up myself, but
>> existing work is welcome.
>>
>
> The "rsound" package does signal processing. I don't know how much of it
> is in its public API. The only signal-processing-related functions in
> Racket's standard library are in `math/array`: `array-fft` and its inverse,
> and corresponding per-axis FFT functions.
>
> Again, we'd love to get contributions, and welcome to the club!
>
> Neil ⊥
>
>
> ____________________
> Racket Users list:
> http://lists.racket-lang.org/users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20150205/e0829801/attachment.html>