Spline (hwx.common.math)¶
A two element list of (x, y) values.
Spline has methods to convert to/from units, add/insert/delete rows, interpolate, get the derivative and read/write CSV files.
The length of x should be the same as y and at least 4. Also, x should be increasing i.e. x[i] < x[i+1].
Public Methods¶
addInterpolated (self, row) appendInterpolated (self) copy (self, **kwds) deleteRows (self, *deleteRows) derivative (self, order=1, npts=None, type=’akima’, scaled=True) fromBaseUnits (self) getFormattedStrings (self, format=5) getXFromY (self, y) insertInterpolated (self, row) interpolate (self, npts=None, type=’akima’, order=0, x=None) isValid (self) prependInterpolated (self) readCsv (self, fname, validationMethod=None) reflect (self) removeNegativeX (self) scalex (self, factor) scaley (self, factor) setComponent (self, row, col, value) setValues (self, x, y=None) shiftx (self, offset) shifty (self, offset) toBaseUnits (self) writeCsv (self, fname=None)
Method Details¶
-
addInterpolated(self, row)¶
Adds a linear interpolated value after the specified row.
| param row: | The row where to add the value after. |
|---|---|
| type row: | int |
| returns: | A reference to the instance Spline object on which it was called. |
| rtype: | Spline |
-
appendInterpolated(self)¶
Appends a linear interpolated value.
| returns: | A reference to the instance Spline object on which it was called. |
|---|---|
| rtype: | Spline |
-
copy(self, **kwds)
Return a copy of self.
It is updated with kwds if specified to support derived classes.
-
deleteRows(self, *deleteRows)¶
Removes the specified rows.
| returns: | A reference to the instance Spline object on which it was called. |
|---|---|
| rtype: | Spline |
-
derivative(self, order=1, npts=None, type='akima', scaled=True)
Computes the derivative.
Scale the derivative so it is not too big but can still be viewed.
| param order: | Order of the derivative. |
|---|---|
| type order: | int |
| param npts: | Number of points to interpolate. |
| type npts: | int |
| param type: | Type of Interpolation. |
| type type: | str |
| param scaled: | The factor to scale y values. |
| type scaled: | Union[bool, float] |
| returns: | A reference to the instance Spline object on which it was called. |
| rtype: | Spline |
-
fromBaseUnits(self)¶
Makes the Spline values work like other Double values.
-
getFormattedStrings(self, format=5)¶
Returns the values suitable for display in the gui fields or table cells.
| param format: | The format of the values as strings. |
|---|---|
| type format: | Union[int, str] |
| returns: | The x, y values. |
| rtype: | list[list[float], list[float]] |
-
getXFromY(self, y)¶
Returns a computed x value from the specified y value.
This uses linear interpolation since we can not assume the y values are monotonically increasing.
| param y: | The y value. |
|---|---|
| type y: | float |
| returns: | The x value. |
| rtype: | float |
-
insertInterpolated(self, row)¶
Adds a linear interpolated value before the specified row.
| param row: | The row where to add the value before. |
|---|---|
| type row: | int |
| returns: | A reference to the instance Spline object on which it was called. |
| rtype: | Spline |
-
interpolate(self, npts=None, type='akima', order=0, x=None)
Recalculates x and y by interpolation.
This is used to get equally spaced values of x, kind can be “akima” or any scipy.interpolate.inter1d.
If x is specified, returns the computed y value.
| param npts: | Number of samples to generate, if x is None. |
|---|---|
| type npts: | int |
| param type: | The type of interpolation. Possible choices are “akima”, “linear”, “cubic”, “zero”, “natural”. If none of these is given then “splev” is used. |
| type type: | str |
| param order: | The order of interpolation. |
| type order: | int |
| param x: | The x value used to return the interpolated y. |
| type x: | float |
| returns: | A reference to the instance Spline object on which it was called. |
| rtype: | Spline |
-
isValid(self)¶
Determines if self can be interpolated and if the derivative can be computed.
| returns: | True if it is valid, False otherwise. |
|---|---|
| rtype: | bool |
-
prependInterpolated(self)¶
Adds a linear interpolated value in the beginning.
| returns: | A reference to the instance Spline object on which it was called. |
|---|---|
| rtype: | Spline |
-
readCsv(self, fname, validationMethod=None)¶
Reads a csv file to populate the x/y values.
| param fname: | The path to the csv file. |
|---|---|
| type fname: | str |
| param validationMethod: | |
| A function used to validate the csv reading. | |
| type validationMethod: | |
| func | |
| returns: | A reference to the instance Spline object on which it was called. |
| rtype: | Spline |
-
reflect(self)
Reflects the data across X and Y.
-
removeNegativeX(self)¶
Removes x, y pairs with negative x values.
-
scalex(self, factor)
Mulitplies the x values by a scale factor.
| param factor: | The factor to multiply the values with. |
|---|---|
| type factor: | float |
| returns: | A reference to the instance Spline object on which it was called. |
| rtype: | Spline |
-
scaley(self, factor)
Mulitplies the y values by a scale factor.
| param factor: | The factor to multiply the values with. |
|---|---|
| type factor: | float |
| returns: | A reference to the instance Spline object on which it was called. |
| rtype: | Spline |
-
setComponent(self, row, col, value)¶
Sets a single value.
| param row: | The row value to set. |
|---|---|
| type row: | int |
| param col: | The column value to set. |
| type col: | int |
| param value: | The value to set. |
| type value: | float |
| raises: | SplineValueError – If value is not numeric. |
| returns: | A reference to the instance Spline object on which it was called. |
| rtype: | Spline |
-
setValues(self, x, y=None)¶
Sets the list of x and y values.
| param x: | The list of x values. |
|---|---|
| type x: | list |
| param y: | The list of y values. |
| type y: | list |
| returns: | A reference to the instance Spline object on which it was called. |
| rtype: | Spline |
-
shiftx(self, offset)
Shifts the x values by an offset.
| param offset: | The offset to shift the values with. |
|---|---|
| type offset: | float |
| returns: | A reference to the instance Spline object on which it was called. |
| rtype: | Spline |
-
shifty(self, offset)
Shifts the y values by an offset.
| param offset: | The offset to shift the values with. |
|---|---|
| type offset: | float |
| returns: | A reference to the instance Spline object on which it was called. |
| rtype: | Spline |
-
toBaseUnits(self)¶
Makes the Spline values work like other Double values.
-
writeCsv(self, fname=None)¶
Writes x/y values to a csv file.
| param fname: | The path to the csv file. |
|---|---|
| type fname: | str |