jax.scipy.ndimage.map_coordinates#
- jax.scipy.ndimage.map_coordinates(input, coordinates, order, mode='constant', cval=0.0)[原始碼]#
使用內插法將輸入陣列對應到新的座標。
scipy.ndimage.map_coordinates()
的 JAX 實作給定輸入陣列和一組座標,此函數會傳回輸入陣列在這些座標的內插值。
- 參數:
input (Array | ndarray | bool | number | bool | int | float | complex) – 從中內插值的 N 維輸入陣列。
coordinates (Sequence[Array | ndarray | bool | number | bool | int | float | complex]) – 長度為 N 的陣列序列,指定評估內插值的座標
order (int) –
內插法的階數。JAX 支援以下選項
0:最近鄰
1:線性
mode (str) – 根據給定的模式,輸入邊界外的點會被填滿。JAX 支援以下其中一種模式:
('constant', 'nearest', 'mirror', 'wrap', 'reflect')
。請注意,JAX 中的'wrap'
模式的行為與 SciPy 中的'grid-wrap'
模式相同,而 JAX 中的'constant'
模式的行為與 SciPy 中的'grid-constant'
模式相同。這種差異是由於 SciPy 中這些模式的先前錯誤 (scipy/scipy#2640) 所造成的,JAX 首先透過變更現有模式的行為來修正此錯誤,然後 SciPy 透過新增具有新名稱的模式來修正此錯誤,而不是為了向後相容性而修正現有模式。預設值為 ‘constant’。cval (Array | ndarray | bool | number | bool | int | float | complex) – 如果
mode='constant'
,則用於輸入邊界外點的值。預設值為 0.0。
- 回傳值:
指定座標的內插值。
範例
>>> input = jnp.arange(12.0).reshape(3, 4) >>> input Array([[ 0., 1., 2., 3.], [ 4., 5., 6., 7.], [ 8., 9., 10., 11.]], dtype=float32) >>> coordinates = [jnp.array([0.5, 1.5]), ... jnp.array([1.5, 2.5])] >>> jax.scipy.ndimage.map_coordinates(input, coordinates, order=1) Array([3.5, 8.5], dtype=float32)
注意
邊界附近的內插法與 scipy 函數不同,因為 JAX 修復了一個未解決的錯誤;請參閱 jax-ml/jax#11097。此函數根據 SciPy 的文件解釋
mode
參數,但不是根據 SciPy 的實作方式。