全部搜尋項
buster  ] [  bullseye  ] [  bookworm  ] [  trixie  ] [  sid  ]
[ 原始碼: vspline  ]

套件:vspline-dev(1.0.2-1)

vspline-dev 的相關連結

Screenshot

Debian 的資源:

下載原始碼套件 vspline

維護小組:

外部的資源:

相似套件:

header-only C++ template library for b-spline processing

vspline aims to be as fast as possible, yet mathematically precise. It's main focus is interpolation of bulk data like sounds, images and volumes. vspline can handle

 -  splines over real and integer data types and their aggregates:
 -  all '*xel' data, arbitrary number of channels (template argument)
 -  single, double precision and long doubles supported (template argument)
 -  several boundary conditions (mirror, reflect, periodic, natural)
 -  spline degree up to 45 (runtime argument)
 -  arbitrary dimensionality of the spline (template argument)
 -  specialized code for 1D data
 -  multithreaded code (pthread)
 -  using the CPU's vector units if possible (like SSE, AVX/2)
 -  processes nD arrays with arbitrary shapes and strides

On the evaluation side it provides

 -  evaluation of the spline at point locations in the defined range
 -  evaluation of vectorized arguments with SIMD code
 -  optional use of Vc for explicit SIMD code using intrinsics
 -  evaluation of the spline's derivatives
 -  factory functions to create evaluation functors
 -  specialized code for degrees 0 and 1 (nearest neighbour and n-linear)
 -  mapping of arbitrary coordinates into the defined range
 -  evaluation of nD arrays of coordinates ('remap' function)
 -  discrete-coordinate-fed remap function ('index_remap')
 -  generalized functor-based 'apply' and 'transform' functions
 -  restoration of the original data from the coefficients

To produce maximum performance, vspline has a fair amount of collateral code, and some of this code may be helpful beyond vspline:

 -  multithreading with a thread pool
 -  application of fundamental and SIMD functors to nD arrays
 -  functional constructs using vspline::unary_functor
 -  nD forward-backward n-pole recursive filtering
 -  nD separable convolution
 -  efficient access to the b-spline basis functions
 -  precise precalculated constants (made with GNU GSL, BLAS and GNU GMP)
 -  many examples, ample comments

vspline uses a three-step approach to splines: the first step is coefficient generation (including prefilering), the second step is generation of specific functors providing evaluation, the third is application of these functors to n-dimensional data. data handling is done with vigra data types, using vigra::MultiArrayView for handling strided nD arrays, and vigra::TinyVector for small aggregates. vigra::MultiArrayView is a thin wrapper combining an array's address, dimension, data type, stride and shape, it's easy to use it to 'package' raw data. vspline handles vector formation from interleaved data, peeling and re-interleaving automatically. vspline optionally uses Vc. Without Vc present, it triggers the compiler's autovectorization by producing deliberately vector-friendly inner loops. vspline has been under development for several years and is extensively tested for scope coverage, reliability, precision and performance.

其他與 vspline-dev 有關的套件

  • 依賴
  • 推薦
  • 建議
  • 增強

下載 vspline-dev

下載可用於所有硬體架構的
硬體架構 套件大小 安裝後大小 檔案
all 229。0 kB1,161。0 kB [檔案列表]