\input texinfo
@c #############################################################################
@c 
@c makeinfo --html overview.texi --no-split --css-ref=manual.css  --init-file=overview.init
@c 
@c #############################################################################

@set VERSION 1.1.0

@settitle Biospeckle Laser Tool Library

@copying
The BSLTL package is a free collection of OCTAVE/MATLAB routines for working with the
biospeckle laser technique.
Copyright @copyright{} 2016 Fernando Pujaico Rivera
@end copying

@documentencoding utf-8

@titlepage
@title Biospeckle Laser Tool Library (BSLTL)
@page
@vskip 0pt plus 1filll
@insertcopying
@end titlepage

@c Output the table of the contents at the beginning.
@contents

@ifnottex
@node Top
@top Introduction

The BSLTL package is a free collection of OCTAVE/MATLAB routines for working with the
biospeckle laser technique.(version @value{VERSION}).

Implemented technics:
@itemize @bullet
@item
Graphical methods: Fujii, GD, Std, Mean, Contrast, PTD, MHI, Kurtosis, Skewness, etc.
@c @math{FUJII=\frac{200}{NTIMES-1} \sum \limits_{k=1}^{NTIMES-1} \frac{|I_{k}-I_{k+1}|}{I_{k}+I_{k+1}}} 
@c @math{GD=\frac{1}{\binom{NTIMES}{2}} \sum\limits_{k=1}^{NTIMES-1} \sum\limits_{l=1}^{NTIMES-k} |I(k)-I(k+l)|} 
@c @math{Mean= \frac{1}{NTIMES} \sum\limits_{k=1}^{NTIMES} I(k) \approx E[I(k)]} 
@c @math{Std = \sqrt{ \frac{1}{NTIMES} \sum\limits_{k=1}^{NTIMES} (I(k)-Mean)^2  }} 

@item
Numerical methods: AVD, IM, NCOM, THSP, RVD, Corr, etc.
@c @math{AVD=\sum \limits_{ij} NCOM(i,j)|i-j|} 
@c @math{IM=\sum \limits_{ij} NCOM(i,j)|i-j|^2} 
@c @math{RVD=\sum \limits_{ij} NCOM(i,j)(i-j)} 
@item
Filtering
@item
Quality test
@item
etc
@end itemize

@end ifnottex

@menu
* Citations::    How to cite the library.
* Installation:: About the intallation methods.
* Using the BSLTL package:: About as to use the BSLTL package.
* Contributing to the package:: How contribute with the package
* Copyright::    Legal notice copyright.
* Versions::     Labeling criteria.
* BSLTL project group:: Authors.
* Support or Contact:: Links of interest.
* Index::        Complete index.
@end menu

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@node Citations
@chapter Citations


To cite the BSLTL package in publications use:
@display
Roberto Alves Braga Júnior, Fernando Pujaico Rivera and Junio Moreira (2016).
BSLTL: Biospeckle Laser Tool Library.
URL http://www.nongnu.org/bsltl/
@end display
@cindex Citations as plain

A BibTeX entry for LaTeX users is:
@verbatim
@misc{BSLTL1,
    author    = {Braga J\'unior, Roberto Alves and 
                 Pujaico Rivera, Fernando and 
                 Moreira, Junio},
    title     = {{BSLTL:} Biospeckle Laser Tool Library},
    year      = {2016},
    url       = {http://www.nongnu.org/bsltl/}
}
@end verbatim
@cindex Citations as bibtex
We have invested a lot of time and effort in creating BSLTL package, please 
cite it when using it.  See also `citation pkgname' for citing other Octave 
package with pkgname name.


@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@node Installation
@chapter Installation


@section Method 1: Online - Only in OCTAVE
@cindex Method 1
The next OCTAVE code, install the last version of BSLTL package directly from 
octave-forge website in the default install directory.
@example
pkg install -forge -auto bsltl
@end example
With this method the package is configured for be loaded automatically when OCTAVE start.

@section Method 2: Offline - Only in OCTAVE
@cindex Method 2
If the BSLTL package (@url{http://download.savannah.gnu.org/releases/bsltl/, bsltl-@value{VERSION}.tar.gz})
was downloaded in the directory: /download_path
The next OCTAVE code, install the BSLTL package, 
in the directory: ~/lib/octmat

@example
pkg prefix ~/lib/octmat
pkg install -auto /download_path/bsltl-@value{VERSION}.tar.gz
@end example
With this method the package is configured for be loaded automatically when OCTAVE start.

@section Method 3: Offline - In MATLAB or OCTAVE
@cindex Method 3
If the BSLTL package (@url{http://download.savannah.gnu.org/releases/bsltl/, bsltl-@value{VERSION}.zip}
or @url{http://download.savannah.gnu.org/releases/bsltl/, bsltl-@value{VERSION}.tar.gz}) 
was uncompressed in the directory @code{'/home/user/lib/octmat/bsltl'}. 
For that this package can be used by a source file, it needs add the next code 
in the top of source file.
@example
BSLTL_DIR='/home/user/lib/octmat/bsltl';
addpath(genpath(BSLTL_DIR));
@end example
The function genpath generates a list with the directories and sub directories.
The function addpath add directories to OCTAVE system path.

In this method we install (add to  Octave system path) the BSLTL package each 
time that we call our source files. 

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@node Using the BSLTL package
@chapter Using the BSLTL package



@section Example code of installation method 1 and 2 - Getting the AVD value of line 240
@cindex Method 1
@cindex Method 2
The next code load 129 images from the directory pointed by the variable
@code{IMAGES_DIR}; the images are called @code{'img001.bmp'}, @code{'img002.bmp'}, ...,
@code{'img128.bmp'} and @code{'img129.bmp'}. The images are joined in a 3D matrix
called @code{DATA}.

@example
IMAGES_DIR = '/home/user/data/speckle/test1';
DATA = datapack(IMAGES_DIR,'img%03d',1,129,'bmp');

THSP = thsp(DATA,'line',240);   % Getting the time history speckle pattern.
COM  = coom(THSP);              % Getting the co-occurrence matrix.
AVD  = avd(COM);                % Getting the AVD value.
@end example
Finally are calculated the  time history speckle pattern (of pixels in the line 
number 240 of @code{DATA}),the co-occurrence matrix
and the AVD value, and your values are stored in the variables @code{THSP}, @code{COM} and 
@code{AVD} respectively.

@section Example code of installation method 3 - Getting the AVD value of column 100
@cindex Method 3
The next code load to octave enviroment all the code functions located in the address pointed
by the variable @code{BSLTL_DIR}, including subdirectories. 

Later the code load 129 images from the directory 
pointed by the variable
@code{IMAGES_DIR}; the images are called @code{'img1.bmp'}, @code{'img2.bmp'}, ...,
@code{'img128.bmp'} and @code{'img129.bmp'}. The images are joined in a 3D matrix
called @code{DATA}.

@example
BSLTL_DIR = '/home/user/lib/octmat/bsltl';
addpath(genpath(BSLTL_DIR));

IMAGES_DIR = '/home/user/data/speckle/test1';
DATA = datapack(IMAGES_DIR,'img%d',1,129,'bmp');

THSP = thsp(DATA,'column',100); % Getting the time history speckle pattern.
COM  = coom(THSP);              % Getting the co-occurrence matrix.
AVD  = avd(COM);                % Getting the AVD value.
@end example
Finally are calculated the  time history speckle pattern (of pixels in the column 
number 100 of @code{DATA}), the co-occurrence matrix
and the AVD value, and your values are stored in the variables @code{THSP}, @code{COM} and 
@code{AVD} respectively.

@section More code examples

Many code examples  can be found in the @url{http://www.nongnu.org/bsltl/examples.html, examples page}
of BSLTL library.

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@node Contributing to the package
@chapter Contributing to the package

In the case that you want to include a new function in the library,
submissions will only be accepted when they have the source code documented
and they are accompanied by a tutorial 
(all these should be below General Public License or any compatible).
The tutorial can be made with Latex, Texinfo, Markdown, or any support that 
uses plain text.

@section Contributing from mailing list

To contribute to the BSLTL package using your email account,
you can send your proposal to the
@url{https://savannah.nongnu.org/mail/?group=bsltl, mailing list}

@section Contributing through a patch

To contribute to the BSLTL package through a patch:

@itemize @bullet
@item
Clone the package; making a local copy of BSLTL source repository;
@verbatim
git clone http://git.savannah.gnu.org/r/bsltl.git

cd bsltl
@end verbatim
@item
Make your changes in the source code;
@item
Commit the changeset into your local repository;
@verbatim
git add *

git commit -m "Here, you describe the modification made."
@end verbatim
@item
Create the patch; export the last changeset (commit) to a diff file;
@verbatim
git format-patch -1 -o ../
@end verbatim
@item
Submit it to the @url{https://savannah.nongnu.org/patch/?func=additem&group=bsltl, patch tracker}.
@end itemize


@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@node Copyright
@chapter Copyright
@display
Copyright (c) 2016 BSLTL project group.

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
	 
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
	
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
USA.
@end display

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@node Versions
@chapter Versions

The increment in the version number has a meaning. To a version number 
with the format 'va.b.c' (by example: v@value{VERSION}).
@itemize @bullet
@item
An increment in 'c' indicates a modification or correction in the code.
@item
An increment in 'b' indicates that at least a new function was added in the code.
@item
An increment in 'c' is reserved to great modifications in the code.
@end itemize

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@node BSLTL project group
@chapter BSLTL project group

@itemize @bullet
@item
Roberto Alves Braga Júnior @email{robertobraga@@deg.ufla.br}
@item
Fernando Pujaico Rivera    @email{fernando.pujaico.rivera@@gmail.com}
@item
Junio Moreira	           @email{juniomoreira@@iftm.edu.br}
@end itemize

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@node Support or Contact
@chapter Support or Contact

Having trouble with the package? Check out our 
@url{http://www.nongnu.org/bsltl/documentation.html, documentation} or 
@url{https://savannah.nongnu.org/mail/?group=bsltl, contact support}.

Please, also visit the
@url{http://www.nongnu.org/bsltl/, Home page of BSLTL project}.

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@node Index
@unnumbered Index

@printindex cp

@bye
