fr.umlv.lovmi.image
Class AbstractImage

java.lang.Object
  extended by fr.umlv.lovmi.image.AbstractImage
All Implemented Interfaces:
Image
Direct Known Subclasses:
AbstractMappedImage, ImageFullMemory

public abstract class AbstractImage
extends java.lang.Object
implements Image

AbstractImage est la base pour implémenter de nouvelles images de type raw. Elle représente, en effet, le dénominateur commun a toutes les images implémentées.

Author:
Goulamhoussen Feriel

Field Summary
protected  int height
           
protected  int loadingState
           
static int MAXSIZEOFHISTO
           
protected  int numberOfChannels
           
protected  fr.umlv.lovmi.types.ImageType type
           
protected  int width
           
 
Constructor Summary
AbstractImage()
           
 
Method Summary
 void applyFilter(Filter filter)
          Applique un filtre sur l'image actuelle
 void applyFilter(Filter filter, int startx, int starty, int endx, int endy)
          Applique un filtre sur l'image actuelle sur une zone donnée
 void getDisplayableImage(byte[] buffer, int startx, int starty, int endx, int endy)
          Retourne une image affichable de l'image actuelle, dans un buffer alloué par les soins du developpeur Cette image fait 512 x 512 et est codée sur 3 canaux.
 int getHeight()
          Retourne le nombre de lignes
 int[] getHistogram(int channel)
          Retourne un histogramme correspondant au canal donné en paramètre
 int[] getHistogram(int channel, int startx, int starty, int endx, int endy)
          Retoune l'histogramme sur une zone de l'image
 fr.umlv.lovmi.types.ImageType getImageType()
          Retourne le type de l'image
 int getLoadinState()
          Retourne l'état de chargement de l'image
 int getNumberOfChannels()
          Retourne le nombre de canaux de l'image
 Image getResizedImage()
          Calcule l'image redimentionnée 512 x 512 de l'image actuelle
 int getWidth()
          Retourne le nombre de colones
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface fr.umlv.lovmi.image.Image
getPixelValue, save, setPixelValue
 

Field Detail

height

protected int height

width

protected int width

loadingState

protected int loadingState

MAXSIZEOFHISTO

public static final int MAXSIZEOFHISTO

numberOfChannels

protected int numberOfChannels

type

protected fr.umlv.lovmi.types.ImageType type
Constructor Detail

AbstractImage

public AbstractImage()
Method Detail

getLoadinState

public int getLoadinState()
Retourne l'état de chargement de l'image

Returns:
l'état de chargement 0 à 100

getHeight

public int getHeight()
Retourne le nombre de lignes

Specified by:
getHeight in interface Image

getWidth

public int getWidth()
Retourne le nombre de colones

Specified by:
getWidth in interface Image

getNumberOfChannels

public int getNumberOfChannels()
Retourne le nombre de canaux de l'image

Specified by:
getNumberOfChannels in interface Image

getImageType

public fr.umlv.lovmi.types.ImageType getImageType()
Retourne le type de l'image

Specified by:
getImageType in interface Image

getHistogram

public int[] getHistogram(int channel)
Retourne un histogramme correspondant au canal donné en paramètre

Specified by:
getHistogram in interface Image
Parameters:
channel - Canal de l'image dont on veut obtenir l'histogramme

getHistogram

public int[] getHistogram(int channel,
                          int startx,
                          int starty,
                          int endx,
                          int endy)
Retoune l'histogramme sur une zone de l'image

Specified by:
getHistogram in interface Image
Parameters:
channel - Canal de l'image dont on veut obtenir l'histogramme
startx - Coordonnée colonne supérieur droit
starty - Coordonnée ligne supérieur droit
endx - Coordonnée colonne inférieur gauche
endy - Coordonnée ligne inférieur droit

getResizedImage

public Image getResizedImage()
Calcule l'image redimentionnée 512 x 512 de l'image actuelle

Specified by:
getResizedImage in interface Image
Returns:
Une image 512 x 512 du type de l'image de base

applyFilter

public void applyFilter(Filter filter)
Applique un filtre sur l'image actuelle

Specified by:
applyFilter in interface Image
Parameters:
filter - Fitre à appliquer sur l'image

applyFilter

public void applyFilter(Filter filter,
                        int startx,
                        int starty,
                        int endx,
                        int endy)
Applique un filtre sur l'image actuelle sur une zone donnée

Specified by:
applyFilter in interface Image
Parameters:
filter - Fitre à appliquer sur l'image
startx - Coordonnée colonne supérieur droit
starty - Coordonnée ligne supérieur droit
endx - Coordonnée colonne inférieur gauche
endy - Coordonnée ligne inférieur droit

getDisplayableImage

public void getDisplayableImage(byte[] buffer,
                                int startx,
                                int starty,
                                int endx,
                                int endy)
Retourne une image affichable de l'image actuelle, dans un buffer alloué par les soins du developpeur Cette image fait 512 x 512 et est codée sur 3 canaux.

Specified by:
getDisplayableImage in interface Image
Parameters:
buffer - Buffer alloué par le developpeur, contenant l'image a afficher par Swing
startx - Coordonnée colonne supérieur droit
starty - Coordonnée ligne supérieur droit
endx - Coordonnée colonne inférieur gauche
endy - Coordonnée ligne inférieur droit