Git Product home page Git Product logo

Comments (2)

ratal avatar ratal commented on September 3, 2024 1

Hi,
Actually, interp() is used only for floating data. For integer or other types, the next data ('right') is taken.
You can have a look at the method resample() in mdfreader.py, around line 702
For the moment, interp from numpy is used. However, I could add condition if interpolation kind is given to use interp1D from scipy instead. But I guess you want to force 'next option' even for floating ?
I have a proposal for the interpolate function to be replaced by:

        def interp_close_point(x, new_x, kind):
            # interpolates with closest point at 'kind' side
            idx = searchsorted(x, new_x, side=kind)
            idx -= 1
            idx = clip(idx, 0, idx[-1])
            return idx

        def interpolate(new_x, x, y, interpolation_kind):
            # select right interpolation method depending of
            # interpolation kind and data type
            if interpolation_kind is None:
                if y.dtype.kind == 'f':
                    return interp(new_x, x, y)
                else:
                    return y[interp_close_point(x, new_x, 'right')]
            else:
                if interpolation_kind = 'previous':
                    return y[interp_close_point(x, new_x, 'left')]
                elif interpolation_kind = 'next':
                    return y[interp_close_point(x, new_x, 'right')]
                else
                    f = interp1d(x, y, kind=interpolation_kind)
                    return f(new_x)

You could give a try

from mdfreader.

SanjayBalaji avatar SanjayBalaji commented on September 3, 2024

@ratal Hi,
I added this code and it worked very well as expected! Thank you very much for taking your time to solve this problem!
And also thank you for this mdfreader module - it saves me a lot of time in my work!

from mdfreader.

Related Issues (20)

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.