How To Install vspline-dev on Ubuntu 20.04

In this tutorial we learn how to install vspline-dev on Ubuntu 20.04. vspline-dev is header-only C++ template library for uniform b-spline processing

Introduction

In this tutorial we learn how to install vspline-dev on Ubuntu 20.04.

What is vspline-dev

vspline-dev is:

vspline aims to be as fast as possible, it’s main focus is processing of bulk raster data, especially images. vspline can handle

  • splines over real and integer data types and their aggregates
  • a reasonable selection of boundary conditions
  • spline degree up to 45
  • arbitrary dimensionality of the spline
  • using multithreaded code
  • using the CPU’s vector units if possible

On the evaluation side it provides

  • evaluation of the spline at point locations in the defined range
  • evaluation of the spline’s derivatives
  • 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)
  • coordinate-fed remap function (‘index_remap’)
  • functor-based remap, aka ’transform’ functions
  • functor-based ‘apply’ function
  • 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:

  • range-based multithreading with a thread pool
  • functional constructs using vspline::unary_functor
  • forward-backward n-pole recursive filtering
  • separable convolution
  • efficient access to the b-spline basis functions
  • extremely precise precalculated constants

data handling is done with vigra data types, using vigra::MultiArrayView for handling strided nD arrays, and vigra::TinyVector for small aggregates. vspline optionally uses horizontal vectorization with Vc, but without Vc present, it attempts to trigger the compiler’s autovectorization by producing deliberately vector-friendly inner loops. bulk data processing is automatically multithreaded.

There are three methods to install vspline-dev on Ubuntu 20.04. We can use apt-get, apt and aptitude. In the following sections we will describe each method. You can choose one of them.

Install vspline-dev Using apt-get

Update apt database with apt-get using the following command.

sudo apt-get update

After updating apt database, We can install vspline-dev using apt-get by running the following command:

sudo apt-get -y install vspline-dev

Install vspline-dev Using apt

Update apt database with apt using the following command.

sudo apt update

After updating apt database, We can install vspline-dev using apt by running the following command:

sudo apt -y install vspline-dev

Install vspline-dev Using aptitude

If you want to follow this method, you might need to install aptitude first since aptitude is usually not installed by default on Ubuntu. Update apt database with aptitude using the following command.

sudo aptitude update

After updating apt database, We can install vspline-dev using aptitude by running the following command:

sudo aptitude -y install vspline-dev

How To Uninstall vspline-dev on Ubuntu 20.04

To uninstall only the vspline-dev package we can use the following command:

sudo apt-get remove vspline-dev

Uninstall vspline-dev And Its Dependencies

To uninstall vspline-dev and its dependencies that are no longer needed by Ubuntu 20.04, we can use the command below:

sudo apt-get -y autoremove vspline-dev

Remove vspline-dev Configurations and Data

To remove vspline-dev configuration and data from Ubuntu 20.04 we can use the following command:

sudo apt-get -y purge vspline-dev

Remove vspline-dev configuration, data, and all of its dependencies

We can use the following command to remove vspline-dev configurations, data and all of its dependencies, we can use the following command:

sudo apt-get -y autoremove --purge vspline-dev

References

Summary

In this tutorial we learn how to install vspline-dev package on Ubuntu 20.04 using different package management tools: apt, apt-get and aptitude.