Package: pixelclasser
Type: Package
Title: A Package for Classifying Pixels by Colour
Version: 0.5.0
Authors@R: person("Carlos", "Real", email = "carlos.real@usc.es", role = c("aut", "cre"), comment = c(ORCID = "0000-0002-5433-6728"))
Description: Contains functions to classify the pixels of an image file
(jpeg or tiff) by its colour. It implements a simple form of the techniques
known as Support Vector Machine adapted to this particular problem.
Encoding: UTF-8
License: GPL-3
LazyData: true
RoxygenNote: 7.1.1
Imports:
graphics,
grDevices,
jpeg,
tiff,
Suggests:
knitr,
rmarkdown,
testthat
VignetteBuilder: knitr
URL: https://github.com/CarlosRealR/pixelclasser
BugReports: https://github.com/CarlosRealR/pixelclasser
-
Please indicate which category or categories from our package fit policies this package falls under: (Please check an appropriate box below. If you are unsure, we suggest you make a pre-submission inquiry.):
-
Explain how and why the package falls under these categories (briefly, 1-2 sentences):
The package allows to extract information from digital images based on the colours of the pixels. It is a simplified form of the machine learning technique known as Support Vector Machines. The original Red-Green-Blue data contained in the image is transformed into colour proportions and in this way the problem is reduced to 2 dimensions. This allows the representation of the pixels of the image on a plane and the arbitrary selection of classification rules by the user. The transformation also eliminates colour differences due to uneven illumination of the scene. The functions in the package allow for the plotting of the image pixels, the definition and plotting of classification rules, the classification of the pixels in categories and the creation of classified images.
The method lacks the optimization procedures and the possibility of defining non-linear rules that are present in more complex code, but allows the user to directly observe the existence of clusters of points in her images and create ad-hoc rules in a simple way.
-
Who is the target audience and what are scientific applications of this package?
Any person that needs to classify digital (RGB) images. Not addressed to a particular field or scientific activity. It processes the colours in common digital images, taken with any type of software, and without any particular requirement about their content. In the paper which will be sent to Methods in Ecology and Evolution a couple of examples of how to distinguish plant material from background (one of them is the example detailed in the vignette) are presented, but I used them because they come from our own research. It can be readily adapted to other types of research.
-
Are there other R packages that accomplish the same thing? If so, how does yours differ or meet our criteria for best-in-category?
I am not aware of similar packages. Full SVM can be done with packages like caret or mlr, which implement many machine learning techniques for multivariate problems. The complexity of these packages is not necessary for image classification in many cases, and can be a deterrent for many researches that do not need such "big gun" tools. The simplicity of pixelclasser allows its use without a large mathematical background.
-
(If applicable) Does your package comply with our guidance around Ethics, Data Privacy and Human Subjects Research?
Not applicable
-
If you made a pre-submission enquiry, please paste the link to the corresponding issue, forum post, or other discussion, or @tag the editor you contacted.
Confirm each of the following by checking the box.
Submitting Author: Carlos Real (https://github.com/CarlosRealR)
Repository: https://github.com/CarlosRealR/pixelclasser
Version submitted: 0.5.0
Editor: @ldecicco-USGS
Reviewer 1: @qdread
Reviewer 2:
Archive: TBD
Version accepted: January 28, 2021
Scope
Please indicate which category or categories from our package fit policies this package falls under: (Please check an appropriate box below. If you are unsure, we suggest you make a pre-submission inquiry.):
Explain how and why the package falls under these categories (briefly, 1-2 sentences):
The package allows to extract information from digital images based on the colours of the pixels. It is a simplified form of the machine learning technique known as Support Vector Machines. The original Red-Green-Blue data contained in the image is transformed into colour proportions and in this way the problem is reduced to 2 dimensions. This allows the representation of the pixels of the image on a plane and the arbitrary selection of classification rules by the user. The transformation also eliminates colour differences due to uneven illumination of the scene. The functions in the package allow for the plotting of the image pixels, the definition and plotting of classification rules, the classification of the pixels in categories and the creation of classified images.
The method lacks the optimization procedures and the possibility of defining non-linear rules that are present in more complex code, but allows the user to directly observe the existence of clusters of points in her images and create ad-hoc rules in a simple way.
Who is the target audience and what are scientific applications of this package?
Any person that needs to classify digital (RGB) images. Not addressed to a particular field or scientific activity. It processes the colours in common digital images, taken with any type of software, and without any particular requirement about their content. In the paper which will be sent to Methods in Ecology and Evolution a couple of examples of how to distinguish plant material from background (one of them is the example detailed in the vignette) are presented, but I used them because they come from our own research. It can be readily adapted to other types of research.
Are there other R packages that accomplish the same thing? If so, how does yours differ or meet our criteria for best-in-category?
I am not aware of similar packages. Full SVM can be done with packages like caret or mlr, which implement many machine learning techniques for multivariate problems. The complexity of these packages is not necessary for image classification in many cases, and can be a deterrent for many researches that do not need such "big gun" tools. The simplicity of pixelclasser allows its use without a large mathematical background.
(If applicable) Does your package comply with our guidance around Ethics, Data Privacy and Human Subjects Research?
Not applicable
If you made a pre-submission enquiry, please paste the link to the corresponding issue, forum post, or other discussion, or @tag the editor you contacted.
Technical checks
Confirm each of the following by checking the box.
This package:
Publication options
JOSS Options
paper.mdmatching JOSS's requirements with a high-level description in the package root or ininst/.MEE Options
Code of conduct