Miscellaneous routines (scipy.misc)

Warning

This documentation is work-in-progress and unorganized.

Various utilities that don’t have another home.

Note that the Python Imaging Library (PIL) is not a dependency of SciPy and therefore the pilutil module is not available on systems that don’t have PIL installed.

Modules

common Functions which are common and require SciPy Base and Level 1 SciPy
doccer Utilities to allow inserting docstring fragments for common
pilutil
setup
setupscons

Functions

bytescale
central_diff_weights(Np[, ndiv]) Return weights for an Np-point central derivative of order ndiv
comb(N, k[, exact]) The number of combinations of N things taken k at a time.
derivative(func, x0[, dx, n, args, order]) Find the n-th derivative of a function at point x0.
factorial(n[, exact]) The factorial function, n! = special.gamma(n+1).
factorial2(n[, exact]) Double factorial.
factorialk(n, k[, exact]) n(!!...!) = multifactorial of order k
fromimage
imfilter
imread
imresize
imrotate
imsave
imshow
info([object, maxwidth, output, toplevel]) Get help information for a function, class, or module.
lena() Get classic image processing example image, Lena, at 8-bit grayscale
pade(an, m) Given Taylor series coefficients in an, return a Pade approximation to
radon
toimage
scipy.misc.who(vardict=None)

Print the Numpy arrays in the given dictionary.

If there is no dictionary passed in or vardict is None then returns Numpy arrays in the globals() dictionary (all Numpy arrays in the namespace).

Parameters :

vardict : dict, optional

A dictionary possibly containing ndarrays. Default is globals().

Returns :

out : None

Returns ‘None’.

Notes

Prints out the name, shape, bytes and type of all of the ndarrays present in vardict.

Examples

>>> a = np.arange(10)
>>> b = np.ones(20)
>>> np.who()
Name            Shape            Bytes            Type
===========================================================
a               10               40               int32
b               20               160              float64
Upper bound on total bytes  =       200
>>> d = {'x': np.arange(2.0), 'y': np.arange(3.0), 'txt': 'Some str',
... 'idx':5}
>>> np.who(d)
Name            Shape            Bytes            Type
===========================================================
y               3                24               float64
x               2                16               float64
Upper bound on total bytes  =       40
scipy.misc.source(object, output=<open file '<stdout>', mode 'w' at 0xf741f078>)

Print or write to a file the source code for a Numpy object.

The source code is only returned for objects written in Python. Many functions and classes are defined in C and will therefore not return useful information.

Parameters :

object : numpy object

Input object. This can be any object (function, class, module, ...).

output : file object, optional

If output not supplied then source code is printed to screen (sys.stdout). File object must be created with either write ‘w’ or append ‘a’ modes.

See also

lookfor, info

Examples

>>> np.source(np.interp)                        
In file: /usr/lib/python2.6/dist-packages/numpy/lib/function_base.py
def interp(x, xp, fp, left=None, right=None):
    """.... (full docstring printed)"""
    if isinstance(x, (float, int, number)):
        return compiled_interp([x], xp, fp, left, right).item()
    else:
        return compiled_interp(x, xp, fp, left, right)

The source code is only returned for objects written in Python.

>>> np.source(np.array)                         
Not available for this object.
scipy.misc.info(object=None, maxwidth=76, output=<open file '<stdout>', mode 'w' at 0xf741f078>, toplevel='scipy')

Get help information for a function, class, or module.

Parameters :

object : object or str, optional

Input object or name to get information about. If object is a numpy object, its docstring is given. If it is a string, available modules are searched for matching objects. If None, information about info itself is returned.

maxwidth : int, optional

Printing width.

output : file like object, optional

File like object that the output is written to, default is stdout. The object has to be opened in ‘w’ or ‘a’ mode.

toplevel : str, optional

Start search at this level.

See also

source, lookfor

Notes

When used interactively with an object, np.info(obj) is equivalent to help(obj) on the Python prompt or obj? on the IPython prompt.

Examples

>>> np.info(np.polyval) 
   polyval(p, x)
     Evaluate the polynomial p at x.
     ...

When using a string for object it is possible to get multiple results.

>>> np.info('fft') 
     *** Found in numpy ***
Core FFT routines
...
     *** Found in numpy.fft ***
 fft(a, n=None, axis=-1)
...
     *** Repeat reference found in numpy.fft.fftpack ***
     *** Total of 3 references found. ***
scipy.misc.factorial(n, exact=0)

The factorial function, n! = special.gamma(n+1).

If exact is 0, then floating point precision is used, otherwise exact long integer is computed.

  • Array argument accepted only for exact=0 case.
  • If n<0, the return value is 0.
Parameters :

n : int or array_like of ints

Calculate n!. Arrays are only supported with exact set to False. If n < 0, the return value is 0.

exact : bool, optional

The result can be approximated rapidly using the gamma-formula above. If exact is set to True, calculate the answer exactly using integer arithmetic. Default is False.

Returns :

nf : float or int

Factorial of n, as an integer or a float depending on exact.

Examples

>>> arr = np.array([3,4,5])
>>> sc.factorial(arr, exact=False)
array([   6.,   24.,  120.])
>>> sc.factorial(5, exact=True)
120L
scipy.misc.factorial2(n, exact=False)

Double factorial.

This is the factorial with every second value skipped, i.e., 7!! = 7 * 5 * 3 * 1. It can be approximated numerically as:

n!! = special.gamma(n/2+1)*2**((m+1)/2)/sqrt(pi)  n odd
    = 2**(n/2) * (n/2)!                           n even
Parameters :

n : int or array_like

Calculate n!!. Arrays are only supported with exact set to False. If n < 0, the return value is 0.

exact : bool, optional

The result can be approximated rapidly using the gamma-formula above (default). If exact is set to True, calculate the answer exactly using integer arithmetic.

Returns :

nff : float or int

Double factorial of n, as an int or a float depending on exact.

Examples

>>> factorial2(7, exact=False)
array(105.00000000000001)
>>> factorial2(7, exact=True)
105L
scipy.misc.factorialk(n, k, exact=1)

n(!!...!) = multifactorial of order k k times

Parameters :

n : int, array_like

Calculate multifactorial. Arrays are only supported with exact set to False. If n < 0, the return value is 0.

exact : bool, optional

If exact is set to True, calculate the answer exactly using integer arithmetic.

Returns :

val : int

Multi factorial of n.

Raises :

NotImplementedError :

Raises when exact is False

Examples

>>> sc.factorialk(5, 1, exact=True)
120L
>>> sc.factorialk(5, 3, exact=True)
10L
scipy.misc.comb(N, k, exact=0)

The number of combinations of N things taken k at a time. This is often expressed as “N choose k”.

Parameters :

N : int, array

Number of things.

k : int, array

Number of elements taken.

exact : int, optional

If exact is 0, then floating point precision is used, otherwise exact long integer is computed.

Returns :

val : int, array

The total number of combinations.

Notes

  • Array arguments accepted only for exact=0 case.
  • If k > N, N < 0, or k < 0, then a 0 is returned.

Examples

>>> k = np.array([3, 4])
>>> n = np.array([10, 10])
>>> sc.comb(n, k, exact=False)
array([ 120.,  210.])
>>> sc.comb(10, 3, exact=True)
120L
scipy.misc.central_diff_weights(Np, ndiv=1)

Return weights for an Np-point central derivative of order ndiv assuming equally-spaced function points.

If weights are in the vector w, then derivative is w[0] * f(x-ho*dx) + ... + w[-1] * f(x+h0*dx)

Notes

Can be inaccurate for large number of points.

scipy.misc.derivative(func, x0, dx=1.0, n=1, args=(), order=3)

Find the n-th derivative of a function at point x0.

Given a function, use a central difference formula with spacing dx to compute the n-th derivative at x0.

Parameters :

func : function

Input function.

x0 : float

The point at which nth derivative is found.

dx : int, optional

Spacing.

n : int, optional

Order of the derivative. Default is 1.

args : tuple, optional

Arguments

order : int, optional

Number of points to use, must be odd.

Notes

Decreasing the step size too small can result in round-off error.

Examples

>>> def x2(x):
...     return x*x
...
>>> derivative(x2, 2)
4.0
scipy.misc.pade(an, m)

Given Taylor series coefficients in an, return a Pade approximation to the function as the ratio of two polynomials p / q where the order of q is m.

scipy.misc.lena()

Get classic image processing example image, Lena, at 8-bit grayscale bit-depth, 512 x 512 size.

Parameters :

None :

Returns :

lena : ndarray

Lena image

Examples

>>> import scipy.misc
>>> lena = scipy.misc.lena()
>>> lena.shape
(512, 512)
>>> lena.max()
245
>>> lena.dtype
dtype('int32')
>>> import matplotlib.pyplot as plt
>>> plt.gray()
>>> plt.imshow(lena)
>>> plt.show()

(Source code)

Table Of Contents

Previous topic

scipy.maxentropy.maxentutils.sparsefeatures

Next topic

scipy.misc.common

This Page