Skip to content
Oscar de Lama edited this page Feb 21, 2015 · 10 revisions

The imgnoiser R Package

The imgnoiser (IMaGe NOISE) R package contains tools for the measurement, analysis and characterization of raw image noise from digital CMOS sensor cameras. The focus of the package is automatize as possible most of those procedures so you can focus on the interpretation and analysis of its results.

Brief Introduction to R Class usage

The imgnoiser package is developed using R6 classes, which means its usage is slightly different from other R packages. However, I am sure you will find this more convenient. You will read more details about this subject in the following wiki pages. However, as a fast introduction, lets say you have first to create an instance of a package class with the new function. For example, lets create an instance of the vvm imgnoiser package class.

 my.object <- vvm$new(<your creation parameters>)

Then from now on, the my.object created class instance (also called class object or just object), will carry inside itself all the information achieved during its usage. For example, lets suppose you have already processed some image samples, obtaining some statistics about them, and now you want to fit a linear model over those statistics. In this case my.object already contains the image samples statistics and you can fit the model just using:

my.object$fit.model(<your fitting parameters>)

The point here is, you don't have to keep a R variable holding the image statistics. That information is kept inside my.object, so you can just trigger the fit.model() function. Also, the result of the model fitting is now also inside the object. Again, you don't need to keep the fitted models in other R variables.

As a final example, lets suppose you want to plot the image samples statistics, and the predictions from the fitted model. As the fitted model and the image statistics are kept inside the object, you can just call the plotting function and focus just about the plot. i.e. you don't have to use or provide the statistics and the fitted model as arguments to the plotting function.

my.object$plot(<your plotting parameters>)

Finally, you can save the object. In this case you use a package function, not one in the object.

# Save the my.object in a file named "my.object"
imgnoiser.save(my.object)

Tomorrow, in another R session, you can continue your study where you left it, loading the saved object:

# Load the saved object from a file named "my.object"
the.object <- imgnoiser.load('path/to/my.object')

Of course, you can share your findings with your pal, sending to him the object file.

The imgnoiser package classes

The main procedures to process the raw image samples are encapsulated in the classes vvm (acronym of Var Versus Mean) and hvdvm (from Half-Var-delta versus Mean). However, most of their services are common to both of them. You can read an introduction to those techniques in the following wiki pages:

The services common to those classes are explained in:

Input data for the imgnoiser Package Classes

The very first input for the imgnoiser Package classes are image samples saved in files. You can read about the supported formats and the suggested tools and procedures to get them in this page: