A class for the didactic implementation of image-processing algorithms in JavaScript.
CC0-1.0 License
A class for the didactic implementation of image-processing algorithms in JavaScript.
The ImageAccess
class has been developed to teach image-processing programming at the pixel level in engineering university courses. The class is written in JavaScript and is intended to be used in Jupyter Notebook laboratories run by the IJavascript kernel. However, it can also be used in a native JavaScript environment.
The aim of the ImageAccess
class is to facilitate the creation and modification of images in JavaScript. As such, it provides an easy-to-use representation of graylevel images, offering methods for pixel, neighborgood and subimage access automatically taking care of boundary conditions.
The ImageAccess example notebook.ipynb showcases the basic functionalities of the ImageAccess
class. Students and employees at the cole polytechnique fdrale de Lausanne (EPFL) can click here to run it on the EPFL's JupyterLab instance, Noto. Others may click on the Binder tag for this repository above and run it there instead.
With the purpose of simplifying image-processing programming in JavaScript, the ImageAccess
class implements, among others, the following key features
The ImageAccess
class can easily be installed from npm with
npm install image-access
and then be imported using
var ImageAccess = require('image-access')
Alternatively, the github repository can be cloned and the ImageAccess
class can be imported with
var ImageAccess = require('./ImageAccess.js')
The class was developed at the EPFL's Biomedical Imaging Group, mainly by
with contributions from
The development of this class was supported by the Digital Resources for Instruction and Learning (DRIL) Fund at EPFL, which supported the projects IPLAB Image Processing Laboratories on Noto and FeedbackNow Automatic grading and formative feedback for image processing laboratories by Pol del Aguila Pla and Daniel Sage in the sprint and fall semesters of 2020, respectively. See the video below for more information.
A detailed documentation can be found here.