Giter Site home page Giter Site logo

avcarr2 / fcwtnet Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 1.0 54.54 MB

C# interface for the fCWT C++ code published in this paper: https://www.nature.com/articles/s43588-021-00183-z. fCWT github repo: https://github.com/fastlib/fCWT

License: MIT License

C# 100.00%

fcwtnet's People

Contributors

avcarr2 avatar zdanaceau avatar

Watchers

 avatar

Forkers

zdanaceau

fcwtnet's Issues

CWT Line 12

CWT generates an array with 0's in every other position likely stemming from FixOutputArray.

Frequencies does not display correctly

Describe the bug
Y-axis frequencies are not displayed correctly on the scalogram.

To Reproduce
Steps to reproduce the behavior:

  1. Create a scalogram from a transient.
  2. Observe the y-axis is in Hertz.

Expected behavior
Frequencies of protein ions should be in the range of 200 to 600 kHz.

Screenshots
image

Set up gaussian smoothing to use an asymmetrical kernel

The CWT of a typical MS transient can be very asymmetric in the sense that the number of points on the time axis can exceed the number of points in the frequency axis by multiple orders of magnitude. Currently our gaussian smoothing class only uses symmetrical 2D gaussian kernels to smooth data which may lead to insufficient smoothing in one axis and too much smoothing in another.

Adding the option to use an asymmetrical gaussian would allow us to smooth data in a manner consistent with the actual dimensions of our CWT data. This is especially important for finding maxima in plots where there may be time axis oscillation in the in the regions where a peak is meant to be identified. An example of this is shown in the attached files. The first contains the CWT of a transient corresponding to a complex mass spectrum and the second shows high frequency oscillations in many of the peaks appearing in this transient.
complexTransient_modulus.pdf
zoomed_Band2complexTransient_modulus.pdf

PlottingUtils Update

Currently, there a Generate(typeofplot) method and then a GenerateCWT(typeofplot). So if you want to change one thing about a plot, you have to change several methods. Make one plot method per type of plot and use optional parameters and overloading to make methods that handle different subtypes of the same plot.

Potential issues with wavelet center frequency parameter (C0).

The wavelet center frequency parameter (C0) appears to be behaving in an unexpected way in which varying this parameter does not move the location of frequency bands in the resulting CWT of a given signal. This is a problem because when calculating frequencies through f = C0 / a, a single pure cosine wave's detected frequency will vary depending on what C0 is. Examples of this are given below for C0 = 10, 25 and 50 for a single cosine wave. Varying C0 appears to only affect the width of the resulting ridge.
cosTestCWTHeatmapc0-50.pdf
cosTestCWTHeatmapc0-25.pdf
cosTestCWTHeatmapc0-10.pdf
.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.