cds.aladin
Class Fits

java.lang.Object
  extended by cds.aladin.Fits

public class Fits
extends java.lang.Object

Classe de manipulation d'un fichier image FITS


Field Summary
 int bitpix
           
 double bscale
           
 double bzero
           
 Coord center
           
 double deMax
           
 double deMin
           
 HeaderFits headerFits
           
 int height
           
 byte[] pix8
           
 byte[] pixels
           
 double raMax
           
 double raMin
           
 int width
           
 
Constructor Summary
Fits()
          Création en vue d'une lecture
Fits(int width, int height, int bitpix)
          Création en vue d'une construction "manuelle"
 
Method Summary
 void autocut()
          Effectue un autocut linéaire des pixels "fullbits" et une conversion en 8bits dans le tableau pix8 [].
 void autocutIRIS100()
           
 void autocutIRIS12()
           
 void autocutLog()
          Effectue un autocut logarithmique des pixels "fullbits" et une conversion en 8bits dans le tableau pix8 [].
 void autocutPOSS()
           
 void autocutWENSS()
           
 void cutOut(double min, double max)
          Ecrase le tableau des pixels (pixels) sur 256 niveaux en fonction de l'intervalle des valeurs des pixels originaux [min..max]
 void cutOutLog(double min, double max)
          Ecrase le tableau des pixels (pixels) sur 256 niveaux en fonction de l'intervalle des valeurs des pixels originaux [min..max] suivant une fonction logarithme
 double[] findAutocutRange()
          Détermine l'intervalle pour un autocut "à la Aladin".
 double[] findAutocutRange(double min, double max)
          Détermine l'intervalle pour un autocut "à la Aladin" en ne considérant que les valeurs comprises entre min et max
 void free()
          Pour aider le GC
 Calib getCalib()
          Retourne la calib ou null
 int getPix8(int x, int y)
          Retourne la valeur du pixel 8 bits en (x,y) (y compté à partir du bas) exprimé en byte => destiné à être sauvegardé en JPEG
 double getPixelDouble(int x, int y)
          Retourne la valeur du pixel en (x,y) (y compté à partir du bas) sous forme d'un double
 double getPixelFull(int x, int y)
          Retourne la valeur physique (bscale*pix+bzero) du pixel en (x,y) (y compté à partir du bas) sous forme d'un double
 int getPixelInt(int x, int y)
          Retourne la valeur du pixel en (x,y) (y compté à partir du bas) sous forme d'un entier
static int hpx2xy(int hpxOffset)
          Retourne l'indice XY en fonction d'un indice Healpix => nécessité d'initialiser au préalable avec createHealpixOrdre(int)
 void initPix8()
          Remplit le tableau des pixels 8 bits (pix8) à partir des pixels fullbits (uniquement si bitpix==8) avec inversion des lignes
 void initPixFits()
          Remplit le tableau des pixels Fits (pixels) à partir des pixels 8bits (uniquement si bitpix==8) avec inversion des lignes
 void loadFITS(MyInputStream dis)
          Chargement d'une image FITS
 void loadFITS(java.lang.String filename)
          Chargement d'une image FITS depuis un fichier
 void loadHeaderFITS(java.lang.String filename)
          Chargement de l'entete d'une image FITS depuis un fichier
 void loadJpeg(java.lang.String filename)
          Chargement d'une image Jpeg depuis un fichier
 void setCalib(Calib c)
          Positionnement d'une calibration => initialisation de la coordonnée centrale de l'image (cf center)
 void setHeaderFrom(double center_ra, double center_dec, double incA)
           
 void setPix8(int x, int y, int val)
          Positionne la valeur du pixel 8 bits en (x,y) (y compté à partir du bas) exprimé en byte => destiné à être sauvegardé en JPEG
 void setPixelDouble(int x, int y, double val)
          Positionne la valeur du pixel en (x,y) (y compté à partir du bas) exprimé en double
 void setPixelInt(int x, int y, int val)
          Positionne la valeur du pixel en (x,y) (y compté à partir du bas) exprimé en entier
 void toBestPix()
          Autocut intelligent qui applique soit une transformation linéaire ou logarithmique des niveaux de gris
 void toBestPix(double skyval)
          Autocut intelligent qui applique soit une transformation linéaire ou logarithmique des niveaux de gris
 void toBestPix(double min, double max)
          Autocut intelligent qui applique soit une transformation linéaire ou logarithmique des niveaux de gris
 void toPix8()
          Remplit le tableau des pixels 8 bits (pix8)
 void toPix8(double min, double max)
          Remplit le tableau des pixels 8 bits (pix8) en fonction de l'intervalle des valeurs des pixels originaux [min..max] linéairement
 void toPix8Log(double min, double max)
          Remplit le tableau des pixels 8 bits (pix8) en fonction de l'intervalle des valeurs des pixels originaux [min..max] suivant une fonction logarithme
 java.lang.String toString()
           
 void writeFITS(java.io.OutputStream os)
          Génération d'un fichier FITS (sans calibration)
 void writeFITS(java.lang.String filename)
          Génération d'un fichier FITS (sans calibration)
 void writeFITS8(java.io.OutputStream os)
          Génération d'un fichier FITS (sans calibration)
 void writeFITS8(java.lang.String filename)
          Génération d'un fichier FITS (sans calibration)
 void writeJPEG(java.io.OutputStream os)
           
 void writeJPEG(java.lang.String filename)
          Génération d'un fichier JPEG à partir des pixels 8bits Ceux-ci doivent être positionnés manuellement via la méthode setPix8(x,y,val)
static int xy2hpx(int xyOffset)
          Retourne l'indice Healpix en fonction d'un indice XY => nécessité d'initialiser au préalable avec createHealpixOrdre(int)
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

headerFits

public HeaderFits headerFits

pixels

public byte[] pixels

bitpix

public int bitpix

width

public int width

height

public int height

bzero

public double bzero

bscale

public double bscale

center

public Coord center

pix8

public byte[] pix8

raMin

public double raMin

raMax

public double raMax

deMin

public double deMin

deMax

public double deMax
Constructor Detail

Fits

public Fits()
Création en vue d'une lecture


Fits

public Fits(int width,
            int height,
            int bitpix)
Création en vue d'une construction "manuelle"

Parameters:
width - Largeur
height - Hauteur
bitpix - Profondeur des pixels (codage FITS 8,16,32,-32,-64)
Method Detail

setCalib

public void setCalib(Calib c)
Positionnement d'une calibration => initialisation de la coordonnée centrale de l'image (cf center)


getCalib

public Calib getCalib()
Retourne la calib ou null


loadJpeg

public void loadJpeg(java.lang.String filename)
              throws java.lang.Exception
Chargement d'une image Jpeg depuis un fichier

Throws:
java.lang.Exception

loadFITS

public void loadFITS(java.lang.String filename)
              throws java.lang.Exception
Chargement d'une image FITS depuis un fichier

Throws:
java.lang.Exception

loadFITS

public void loadFITS(MyInputStream dis)
              throws java.lang.Exception
Chargement d'une image FITS

Throws:
java.lang.Exception

loadHeaderFITS

public void loadHeaderFITS(java.lang.String filename)
                    throws java.lang.Exception
Chargement de l'entete d'une image FITS depuis un fichier

Throws:
java.lang.Exception

setHeaderFrom

public void setHeaderFrom(double center_ra,
                          double center_dec,
                          double incA)

writeFITS8

public void writeFITS8(java.io.OutputStream os)
                throws java.lang.Exception
Génération d'un fichier FITS (sans calibration)

Throws:
java.lang.Exception

writeFITS8

public void writeFITS8(java.lang.String filename)
                throws java.lang.Exception
Génération d'un fichier FITS (sans calibration)

Throws:
java.lang.Exception

writeFITS

public void writeFITS(java.io.OutputStream os)
               throws java.lang.Exception
Génération d'un fichier FITS (sans calibration)

Throws:
java.lang.Exception

writeFITS

public void writeFITS(java.lang.String filename)
               throws java.lang.Exception
Génération d'un fichier FITS (sans calibration)

Throws:
java.lang.Exception

writeJPEG

public void writeJPEG(java.lang.String filename)
               throws java.lang.Exception
Génération d'un fichier JPEG à partir des pixels 8bits Ceux-ci doivent être positionnés manuellement via la méthode setPix8(x,y,val)

Throws:
java.lang.Exception

writeJPEG

public void writeJPEG(java.io.OutputStream os)
               throws java.lang.Exception
Throws:
java.lang.Exception

getPixelFull

public double getPixelFull(int x,
                           int y)
Retourne la valeur physique (bscale*pix+bzero) du pixel en (x,y) (y compté à partir du bas) sous forme d'un double


getPixelDouble

public double getPixelDouble(int x,
                             int y)
Retourne la valeur du pixel en (x,y) (y compté à partir du bas) sous forme d'un double


getPixelInt

public int getPixelInt(int x,
                       int y)
Retourne la valeur du pixel en (x,y) (y compté à partir du bas) sous forme d'un entier


setPixelDouble

public void setPixelDouble(int x,
                           int y,
                           double val)
Positionne la valeur du pixel en (x,y) (y compté à partir du bas) exprimé en double


setPixelInt

public void setPixelInt(int x,
                        int y,
                        int val)
Positionne la valeur du pixel en (x,y) (y compté à partir du bas) exprimé en entier


setPix8

public void setPix8(int x,
                    int y,
                    int val)
Positionne la valeur du pixel 8 bits en (x,y) (y compté à partir du bas) exprimé en byte => destiné à être sauvegardé en JPEG


getPix8

public int getPix8(int x,
                   int y)
Retourne la valeur du pixel 8 bits en (x,y) (y compté à partir du bas) exprimé en byte => destiné à être sauvegardé en JPEG


autocutLog

public void autocutLog()
                throws java.lang.Exception
Effectue un autocut logarithmique des pixels "fullbits" et une conversion en 8bits dans le tableau pix8 []. Utilise la méthode "à la Aladin" pour déterminer le meilleur intervalle.

Throws:
java.lang.Exception

autocutIRIS12

public void autocutIRIS12()
                   throws java.lang.Exception
Throws:
java.lang.Exception

autocutIRIS100

public void autocutIRIS100()
                    throws java.lang.Exception
Throws:
java.lang.Exception

autocutPOSS

public void autocutPOSS()
                 throws java.lang.Exception
Throws:
java.lang.Exception

autocutWENSS

public void autocutWENSS()
                  throws java.lang.Exception
Throws:
java.lang.Exception

toPix8Log

public void toPix8Log(double min,
                      double max)
Remplit le tableau des pixels 8 bits (pix8) en fonction de l'intervalle des valeurs des pixels originaux [min..max] suivant une fonction logarithme


autocut

public void autocut()
             throws java.lang.Exception
Effectue un autocut linéaire des pixels "fullbits" et une conversion en 8bits dans le tableau pix8 []. Utilise la méthode "à la Aladin" pour déterminer le meilleur intervalle.

Throws:
java.lang.Exception

cutOut

public void cutOut(double min,
                   double max)
Ecrase le tableau des pixels (pixels) sur 256 niveaux en fonction de l'intervalle des valeurs des pixels originaux [min..max]


cutOutLog

public void cutOutLog(double min,
                      double max)
Ecrase le tableau des pixels (pixels) sur 256 niveaux en fonction de l'intervalle des valeurs des pixels originaux [min..max] suivant une fonction logarithme


toPix8

public void toPix8()
Remplit le tableau des pixels 8 bits (pix8)


toPix8

public void toPix8(double min,
                   double max)
Remplit le tableau des pixels 8 bits (pix8) en fonction de l'intervalle des valeurs des pixels originaux [min..max] linéairement


initPix8

public void initPix8()
              throws java.lang.Exception
Remplit le tableau des pixels 8 bits (pix8) à partir des pixels fullbits (uniquement si bitpix==8) avec inversion des lignes

Throws:
java.lang.Exception

initPixFits

public void initPixFits()
                 throws java.lang.Exception
Remplit le tableau des pixels Fits (pixels) à partir des pixels 8bits (uniquement si bitpix==8) avec inversion des lignes

Throws:
java.lang.Exception

findAutocutRange

public double[] findAutocutRange()
                          throws java.lang.Exception
Détermine l'intervalle pour un autocut "à la Aladin".

Throws:
java.lang.Exception

findAutocutRange

public double[] findAutocutRange(double min,
                                 double max)
                          throws java.lang.Exception
Détermine l'intervalle pour un autocut "à la Aladin" en ne considérant que les valeurs comprises entre min et max

Throws:
java.lang.Exception

toBestPix

public void toBestPix(double skyval)
Autocut intelligent qui applique soit une transformation linéaire ou logarithmique des niveaux de gris

Parameters:
pixels - est utilisé, pix8 est fabriqué

toBestPix

public void toBestPix()
Autocut intelligent qui applique soit une transformation linéaire ou logarithmique des niveaux de gris

Parameters:
pixels - est utilisé, pix8 est fabriqué

toBestPix

public void toBestPix(double min,
                      double max)
Autocut intelligent qui applique soit une transformation linéaire ou logarithmique des niveaux de gris

Parameters:
pixels - est utilisé, pix8 est fabriqué

hpx2xy

public static final int hpx2xy(int hpxOffset)
Retourne l'indice XY en fonction d'un indice Healpix => nécessité d'initialiser au préalable avec createHealpixOrdre(int)


xy2hpx

public static final int xy2hpx(int xyOffset)
Retourne l'indice Healpix en fonction d'un indice XY => nécessité d'initialiser au préalable avec createHealpixOrdre(int)


free

public void free()
Pour aider le GC


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2009 UDS/CNRS