Msphinx

À propos

Some years ago at the Laboratoire d'Optique Atmospherique (LOA) we investigated and tested various software packages to meet our satellite image processing needs. The laboratory required a flexible, simple-to-use image analysis and presentation package for climate and satellite remote sensing research. We found that many of the existing programs possessed significant shortcomings, such as machine and operating system dependence, difficult installations, specialized graphic cards, and long learning curves for new users. Rather than purchase a less-than-optimal software package, we decided in 1988 to apply our in-house technical and scientific expertise to build an efficient and intuitive image analysis and display system, named SPHINX (Satellite Process Handling Images uNder XWindow.)

The strong points of Sphinx reside in its :

  • integration of the laboratory's multidisciplinary expertise inspace-based climate research
  • construction under UNIX and the X11 Window System to render it machine independent
  • visualization of images that is the nearest possible to the original data without superfluous menus or overlays
  • efficient internal data structure that is quickly adaptable to various common image formats
  • multispectral visualization of satellite sensor data
  • high-quality printing of processed images

Sphinx has proven instrumental in serving as a daily image processing tool at LOA, allowing both expert and new users to conduct image analysis and presentation with minimum difficulty on various platforms. The future, however, calls for new requirements in satellite image processing as both sensor technologies and research methods are refined. Image processing packages, for instance, will be required to handle both higher data precision and an increasing number of sensor data channels (e.g., 5 channels for AVHRR, and 100 for the proposed MODIS sensor). Longer term satellite observations will demand new approaches to examining and analyzing large datasets for climate phenomena.
In an effort to meet these changing needs, our Sphinx development team was faced with a number of questions.

  • Firstly, could we easily alleviate its immediate short comings: fixed geometry, 8-bit precision, three data planes?
  • Secondly, while retaining the software's simple and efficient architecture as well as its interactive interface, could we enhance the package to respond to the above mentioned requirements?
    In this case, what would be the interactive response time of such a software program?
  • Thirdly, could software packages employing rigid internal data structures be modified easily enough for volving satellite remote sensing techniques?

Architecture (Overview)

The concept behind Msphinx is to develop a progressive system architecture for future satellite sensors that is completely independent of the data volume, size and format derived from satellite observations, without developping a complex internal data structure that will loose the particularity of satellite data : series of pixels forming rows or columns of an image.
The new system design conserves the unique windowing scheme for displaying images but changes the depth and size of the internal data. The system consists of the following elements :

  • Data Base and User Virtual Plane Structure
    The fundamental image element is called a cell of any defined size of rows columns and deep. A grouping of cells forms a projection plane (the visualization takes place at the projection plane level). The image memory is composed of a series of cells archived on disk or RAM memory. The distribution of cells across the planes is defined interactively by the user and can be modified at any time. All the image analysis functions can be applied to entire planes or individual cells. One image can reside in either one or several cells constituting a plane. The number of cells is user defined but the number of planes is up to 512.
  • View Window
    The display window consists of 4 overlaying planes named red, green, blue and graphics. These planes, representing the total working space displayed on the screen, can be a combination of images, texts and graphics. Within this working space, a window of any size is defined in order to display all or part of the images composing the projection planes by over or under sampling the data.
  • Color Management
    A continuous compression of the memory plane data (from 16 bits to 8 bits) to the displayed plane is accomplished in order to equalize the pixel contrast independently of the original scaling. The user, however, can always intervene and modify the color scaling for particular pixel value ranges.
  • Processing Functions
    Msphinx includes two types of analysis and processing functions :
    • functions to process in the basic data geometry and projection planes;
    • functions to manipulate and modify the graphic display and printing.
  • Printing capabilities
    • Page Setting
    • Poster Setting (large size: Gigabyte PostScript files)
  • Communication capabilities (Overview)
    Msphinx allows :
    • Data write from external user programs (C or Fortran) into the memory planes.
    • Background capabilities with command files.
    • User to user data exchange (text or images).
    • Direct links to other packages :
      • Mgraph (2D and contouring plotting)
      • HDFLook (HDF read write files)
      • Xfig (Facility for Interactive Generation of figures)
      • mpeg_encode (mpeg format nimations)

Conclusions

Msphinx offers undeniable advantages over existing satellite image processing packages, namely :

  • an efficient functioning scheme. Msphinx's ergonomic avoids the common traps and pit falls encountered when visualizing images under Motif (e.g., multiplying the number of windows and managing multiple color tables which provokes radical changes in display contrast when moving the mouse across windows).
  • an original satellite signal analysis tool whose concept and design, based upon the input of remote sensing specialists, is directed specifically toward multispectral analysis.
  • an intuitive interface that reduces the learning curve for all users. The first draft of Msphinx represents more than a simple device for remote sensing scientists to explore satellite observations. Its innovative and progressive design makes it a strategic, long-term research tool for developing data processing algorithms and for exploiting large-scale data bases.

References

  • LIU JIAN GUO Balance contrast enhancement technique and its application in image colour composition IJRS ,12 pp.2133-2151
  • 6S TANRE D. .... VERMOTE E. Second sinulation of the satellite signal in the solar spectrum (IEEE Transactions on Geoscience and Remote Sensing,1997,35,pp.675-686.
  • John A Richards Remote Sensing Digital Image Analysis Springer-Verlag 1986

The authors wish to thank

  • Dr. Descloitres J. for his contribution to the development of the software and more particularly in the processing part of surfaces.
  • Dr. J.R. Shewchuk for his developments on: "Triangle: Engineering a 2D Quality Mesh Generator and Delaunay Triangulator", First Workshop on Applied Computational Geometry, ACM, May 1996. [*]
  • Dr. Brian V. Smith for the Xfig contribution.

Copyrights: L.O.A (1998)
Academic users: You are authorized to use this code for your research and teaching. You are encouraged to distribute, free of charge, the unmodified version of this software to colleagues involved in similar activities. You may not sell this code to anybody, and you may not distribute it to commercial interests under any circumstances.
Commercial and other users: Use of this package in commercial applications is strictly forbidden without a written approval of the authors.

In order to support the effort of developpement of our different softwares could you please reference them in the publications for which they have been useful. for example, in BibTeX format :

@misc{Mgraph,
      howpublished = {The Mgraph package was developed at LOA by Louis Gonzalez and Christine Deroo},
      note = {{Home page at \url{https://www-loa.univ-lille1.fr/Mgraph}}}
}

TIFF Tag Image File Format from Aldus & Microsoft
GIF "The Graphics Interchange Format" Copyright of CompuServe Incorporated

Documentation

Manuel du logiciel Msphinx

Louis Gonzalez et Christine Deroo

BlueMarble.gif

NOM

Msphinx 

SPHINX: System for Processing and Handling Images uNder X
M for Motif


SYNOPSIS

Msphinx [options]


DESCRIPTION


Msphinx [nom du fichier] [description] Lance Msphinx en mode interactif avec une image.
Msphinx [options] Lance Msphinx en mode interactif.


OPTIONS


    -ScrollPage 1024 Taille de la page en mode déroulant (1024*1024) pixels
    -F /My_path/to/Mfiles Répertoire contenant les commandes principales du logiciel
    -Width 600 Géométrie de la fenêtre...
    -Height 600 ... principale au lancement
    -U /tmp Répertoire temporaire
    -Home /MyDisc Répertoire de l'utilisateur où Msphinx sauvegardera ses données dans un répertoire baptisé ``.Msphinx''
    -Zoom 75 Permet de réduire ou d'augmenter la taille des objets dessinés par Motif. Dans l'exemple, un facteur de réduction de 75% sera appliqué.
    Attention il sera peut être nécessaire de modifier dans le fichier Msphinx.ad la ligne:
    Msphinx*FontList: "-Adobe-Courier-Bold-r-Normal-*-12-*-*-....."

    afin d'ajuster la taille de la police de caractères à la taille des objets Motif. (page pageref)

Table des matières

1  Caractéristiques Principales
2  WORK ON
    2.1  WORK ON-> DEFINE PROJECT
        2.1.1  Les données et le plan de travail sont stockés sur disque
        2.1.2  Les données et le plan de travail sont accessibles par liens
    2.2  WORK ON-> WORKSPACE GEOMETRY
    2.3  WORK ON-> SET VIEW PLANES
    2.4  WORK ON-> DEFINE VIEWPORT
3  WINDOW
    3.1  WINDOW-> STANDARD WINDOW
    3.2  WINDOW-> SCROLL WINDOW
    3.3  WINDOW-> REFRESH
    3.4  WINDOW-> MASK/UNMASK OVERLAY PLANE
    3.5  WINDOW-> CLEAR GRAPH PLANE
    3.6  WINDOW-> CLEAR MASK PLANE
4  FILE
    4.1  FILE-> SIMPLE FILE READ
        4.1.1  Description des options générales:
        4.1.2  Descripteur de format
        4.1.3  Image preview
    4.2  FILE-> TIFF GIF JPG PPM READ
    4.3  FILE-> HDF READ
    4.4  FILE-> SATELLITES-> POLDER
    4.5  FILE-> LUT READ
    4.6  FILE-> ASCII FILES
        4.6.1  Création d'une image à partir d'un fichier ASCII de points.
        4.6.2  Tracés de lignes, de symboles ou de textes
    4.7  FILE-> WRITE
        4.7.1  File-> WRITE-> Simple file write
        4.7.2  File-> WRITE-> Tiff Gif Jpg Ppm write
        4.7.3  File-> H.D.F. Write
        4.7.4  File-> Write LUT in user's lut base
    4.8  FILE-> MPEG ANIMATION
    4.9  FILE-> GIF ANIMATION
    4.10  FILE-> SPINNING GLOBE
5  EDIT
    5.1  EDIT-> PIXEL VALUES
    5.2  EDIT-> DUMP IMAGE VALUES
    5.3  EDIT-> MOVE EXCHANGE ROTATE
    5.4  EDIT-> IMAGE RESIZE
    5.5  EDIT-> PIXEL & MASK
        5.5.1  Création de masque à partir des valeurs des pixels
        5.5.2  Détection automatique des masques
        5.5.3  Modification des plans RGB à partir du masque
        5.5.4  Modification d'un plan à partir du masque
    5.6  EDIT-> SCALE 24 BITS TO 8 BITS
    5.7  EDIT-> SCALE 8 BITS TO 24 BITS
    5.8  EDIT-> GRAB DISPLAY
    5.9  EDIT-> VIEW PLANE PIXEL CHANGE
6  DISPLAY
    6.1  DISPLAY-> SHOW TRUE COLOR
    6.2  DISPLAY-> SHOW (Red/Green/Blue) PLANE
    6.3  DISPLAY-> SHOW COLOR SCALE
    6.4  DISPLAY-> ENHANCE DISPLAY
    6.5  DISPLAY-> ZOOM (linked)
    6.6  DISPLAY-> ZOOM & ANIMATE
    6.7  DISPLAY-> SCROLL ZOOM
7  COLOR
    7.1  COLOR-> TRUE COLOR
    7.2  COLOR-> MORE PALETTES
    7.3  COLOR-> BUILD COLOR SCALE
    7.4  COLOR-> FILL LEVELS WITH COLORS
    7.5  COLOR-> COLOR STRETCH
        7.5.1  FAST STRETCH
        7.5.2  STRETCH THE 8 BITS COLOR SCALE
        7.5.3  COMPUTE IMAGE BALANCE
8  PLOTS
    8.1  PLOTS-> HISTOGRAM
    8.2  PLOTS-> TRANSECT
    8.3  PLOTS-> CONTOURING
        8.3.1  Tracé dans le plan masque
        8.3.2  Utilisation de Mgraph.
    8.4  PLOTS-> BIDIMENSIONAL PLOT
    8.5  PLOTS-> CALL GRAPHIC MENU
9  PROCESS
    9.1  PROCESS-> IMAGE ALGEBRA
    9.2  PROCESS-> AREA STANDARD DEVIATION
    9.3  PROCESS-> CONVOLUTION PRODUCT
10  MODELS
    10.1  MODELS-> SATELLITE SIGNAL SIMULATION 6S
    10.2  MODELS-> SOLAR ZENITH ANGLE CALCULATION
    10.3  MODELS-> WARPER
        10.3.1  Lecture de l'image de référence
        10.3.2  Lecture de l'image à déformer
        10.3.3  Selection des points d'ancrage
        10.3.4  Visualisation du résultat
    10.4  MODELS-> PROJECTIONS
        10.4.1  Définir la géométrie et le plan de l'image d'origine:
        10.4.2  Définir la géométrie et le plan de l'image d'arrivée:
        10.4.3  Grilles et contours de côtes
        10.4.4  Send results to Mgraph
    10.5  MODELS-> AERONET Fast-link
        10.5.1  Menu extraction
        10.5.2  Types des données
        10.5.3  Les options
11  NETWORK
    11.1  NETWORK-> USERS DIALOG
        11.1.1  Architecture générale :
        11.1.2  Mise en route locale.
        11.1.3  Dialogues entre utilisateurs
    11.2  NETWORK-> SERVER MAIN LIST
12  PRINT & SETTINGS
    12.1  PRINT & SETTINGS-> QUICK PRINT
        12.1.1  Les fichiers d'environnement
    12.2  PRINT & SETTINGS-> PAGE SETTING AND PRINT
        12.2.1  Définition d'une page
        12.2.2  Définition d'un patch ou cellule
        12.2.3  Remplissage de la cellule
        12.2.4  Fichiers d'environnement
        12.2.5  Remarques
    12.3  PRINT & SETTINGS-> POSTER SETTING
        12.3.1  Page definition
        12.3.2  Définition d'un patch ou cellule
    12.4  PRINT & SETTINGS-> DRAW IMAGE ANNOTATION
        12.4.1  Echelle de couleur
    12.5  PRINT & SETTINGS-> DRAW PAGE ANNOTATION
    12.6  PRINT & SETTINGS-> (ADD) EPS ICONS
    12.7  PRINT & SETTINGS-> XFIG TOOLS
13  ABOUT
    13.1  About-> Authors panel...
    13.2  About-> Memory...
    13.3  About-> LUT...
    13.4  About-> Server...
    13.5  About-> Tests-> Send image test to display
    13.6  About-> Tests-> Send image test to cells
    13.7  About-> Tests-> Kaleidescope
14  Le fichier de commande
    14.1  Options du fichier de commande
    14.2  Glossaire
    14.3  Commandes générales
    14.4  La géométrie de Msphinx
    14.5  Lecture/Ecriture des fichiers
    14.6  Effacement des plans
    14.7  Les échelles de couleur
    14.8  Tracé sur le plan graphique
    14.9  Les fonctions
    14.10  Les projections
    14.11  Le tracé
    14.12  Les impressions
    14.13  Les commandes intégrées
A  Exemples de fichiers de commandes
    A.1  Création d'une sortie Mgraph
    A.2  Création d'une projection sinusoïdale
    A.3  Projection linéaire avec emplacement des villes
    A.4  Projection linéaire avec grilles, fonds de cartes et rivières
B  Mpeg encode

**********************************************************

Part 1
MODE INTERACTIF



**********************************************************

oneday.gif
image MODIS (10 Août 2001)

Remarques préliminaires


    * Msphinx crée des fichiers intermédiaires qui peuvent être de grande taille. Le répertoire implicite des fichiers temporaires est /tmp. Il faut utiliser l'option -U pour le déplacer vers un répertoire ayant plus d'espace si nécessaire.

    * Le répertoire contenant tous les fichiers d'initialisation est créé sous le $home de l'utilisateur (.Msphinx); s'il manque de l'espace disque, il y a deux façons de corriger le problème:
    1. déplacer le répertoire .Msphinx en réalisant une copie puis en créant un lien symbolique:
      cp -r ~/.Msphinx /MYBIGDISC/
      rm -rf ~/.Msphinx
      ln -s /MYBIGDISC/.Msphinx ~/.Msphinx
    2. déplacer le répertoire, s'il existe, puis utiliser l'option -HOME
      par exemple:
      cp -r ~/.Msphinx /MYBIGDISC/
      Msphinx -HOME /MYBIGDISC


    * L'option -zoom peut être intégrée dans le fichier Msphinx.ad; pour cela, il suffit de modifier la ligne:

    Msphinx_bin*zoom: 100


    * En réduisant les fenêtres, ne pas oublier de sélectionner une fonte plus petite dans Msphinx.ad:
    Msphinx*FontList: ``-Adobe-Courier-Bold-r-Normal-*-12-*-*-*-*-*-*-*''

    La commande Unix: ``xlsfonts'' peut vous aider à sélectionner une fonte convenable.

Chapitre 1
Caractéristiques Principales

  • Gestion de 512 plans d'image de tailles et de types quelconques
  • Gestion de la couleur sous forme de LUT (LookUpTable) de 256 niveaux ou sous forme de plans Rouge, Vert, Bleu (16 Millions de couleurs)
  • Echange de données avec d'autres modules de traitement des données
    • Mgraph: tracé 2D et perspectives
    • HDFLook: gestion des fichiers de type HDF (Hierarchical Data Files)
    • Mpol: gestion des fichiers POLDER
    • Msixs: simulation du signal satellitaire
    • TIFF, GIF, JPG
    • xfig: génération interactive de figures

  • Gestion de la mémoire image en mémoire vive, sur disque ou sous forme de liens symboliques
  • Lecture d'image en mode ``raw'' 1,2 ,10,12 bits, saut d'entête etc...
  • Mise en page et impression de grandes images
  • Communications entre utilisateurs (messages et échanges d'images)

Fonctionnement Général

Lors de l'installation de Msphinx sur votre machine, l'administrateur système a placé le fichier Msphinx.ad dans le répertoire système:

/usr/lib/X11/app-defaults.

Il doit être en lecture pour tous.

Vous avez aussi la possibilité de le modifier et de l'exécuter en local en utilisant la commande:

xrdb -merge Msphinx.ad


Dans les panels, utilisez le bouton de gauche de la souris pour sélectionner les options, activer les boutons ou pour pointer une position sur demande du logiciel.
Toute chaîne de caractères dans un éditeur peut être sélectionnée à l'aide du même bouton puis recopiée dans une autre fenêtre à l'aide du bouton central.

Un répertoire .Msphinx est créé sous votre répertoire principal ($home). Il contient différents fichiers d'initialisation des variables du logiciel. Dans ce répertoire .Msphinx se trouvent aussi les différents projets que vous avez créés, constituant votre base de données d'images. Si vous manquez d'espace disque, vous pouvez déplacer ce répertoire sur un autre disque et réaliser un lien symbolique sous votre $home ou utiliser l'option -home dans la commande de lancement. (Voir plus haut dans les remarques préliminaires)

Découpage des plans de données:

Un plan de caractéristiques quelconques (largeur, hauteur, profondeur) est défini par l'utilisateur.

L'espace ainsi créé est virtuel; il ne sera créé, au niveau des ressources, qu'au fur et à mesure du remplissage des images. La taille (largeur, hauteur) définie n'est utilisée que comme maximum utilisable afin d'éviter des débordements intempestifs (elle peut être modifiée à tout moment). La profondeur (codage des données sur 8, 16 ou 32 bits) définie l'est aussi par défaut: elle sera figée lors du remplissage de la première image et sera de même type pour tout le plan (elle peut être modifiée à tout moment pour une profondeur plus grande afin d'éviter les troncatures des données).
L'utilisateur peut écrire une image n'importe où dans le plan; cependant pour faciliter le découpage d'un plan celui-ci peut contenir des cellules régulières ou irrégulières (sous-images) reconnues par le logiciel.

Attention:
Vous définissez un plan 2048×2048×32 en entier contenant 16 cellules 512×512.

Vous lisez une image dans la première cellule en haut à gauche (A). L'espace mémoire utilisé est alors de 512×512×4 octets.
Vous ajoutez une image dans la cellule adjacente de droite (B): l'espace utilisé devient 512×512×4×2 octets.
Maintenant, vous ajoutez une image dans la dernière cellule en bas à droite (C): l'espace utilisé devient 512×512×4×16 octets soit 16 Mo (les cellules restantes seront remplies à zero). En conclusion, les ressources mémoire augmentent en fonction de la taille du rectangle le plus petit, englobant l'ensemble des données.

Adressage mémoire dans les menus:

Msphinx_FG.gif
Msphinx_FG2.gif

Dans les différents menus, la ``Widget'' la plus répandue concerne l'adressage de la mémoire, c'est à dire la définition de la zone qui contiendra l'image lue. Elle est composée de 3 objets:

  • Un menu concernant le choix de la zone:
    ``Editor position'':
    Les 4 éditeurs (X, Y, Width, Height) seront utilisés. Un clic sur le rectangle vert remplit les éditeurs avec la taille réelle utilisée ou avec la taille virtuelle du plan selon les menus.
    ``Grid position'':
    On voit apparaître le découpage en cellules. Il suffit de cliquer sur une cellule pour l'activer.
    ``Mouse position'':
    L'utilisateur détermine, directement dans la fenêtre principale ou dans une fenêtre de zoom, une zone rectangulaire à l'aide de la souris. Les éditeurs seront remplis avec la positioin et la taille de la zone.
    ``Free contour'':
    Dans une fenêtre adressable, on va définir une zone non rectangulaire. Le bouton de droite permet de créer les différents points définissants le contour; le bouton de gauche est utilisé au dernier segment pour fermer ce contour.

  • Un menu concernant les plans à utiliser:
    [``Red plane'']
    [``Green plane'']
    [``Blue plane'']
    [``RGB''] (les 3 plans à la fois)
    [``All planes''] (Tous les plans utilisés)
    [``Plane no''] Un plan ou une série de plans bien précis à entrer dans l'éditeur qui apparait.

  • Un ensemble d'éditeurs définissant la géométrie de l'image, dans lesquels l'utilisateur peut entrer directement les valeurs désirées.

==========================================================

Chapitre 2
WORK ON

==========================================================

2.1  WORK ON->DEFINE PROJECT

Msphinx_WO_DP.gif

Ce menu permet de définir un nouveau projet où seront rangés les structures des images et les plans de visualisation.
Deux options sont proposées:

  • ``DATA PLANES AND WORK SPACE STORED ON DISK''
  • ``DATA PLANES AND WORK SPACE WITH LINKS ACCESS''

2.1.1  Les données et le plan de travail sont stockés sur disque

Si ce choix est fait, la mémoire image de Msphinx passe sur disque sous forme de fichiers:

  • un fichier par plan de données images
  • 3 plans de 8bits pour la mémoire de visualisation
  • un plan de (4+4) bits pour la mémoire masque et graphique.

2.1.2  Les données et le plan de travail sont accessibles par liens

Dans ce mode les images ne seront accessibles qu'en lecture. Il permet de charger rapidement une grande quantité de plans images. Le format des images doit être le plus simple, du type lignes colonnes, ne nécessitant aucun décodage.

Msphinx_WO_LF.gif

S'il n'y a AUCUN lien actif, ce menu apparaît ; il va permettre d'associer une série d'images de même type à une série de plans.
Exemple de procédure à suivre:

  • taper, dans l'éditeur plane no, le chiffre 1.
    Les images seront chargées à partir du plan 1
  • sélectionner le type de données: 8,16,32 bits etc...
  • si nécessaire, sélectionner ``Swap data'';
    Cette option n'est utile que pour les données codées sur 16 ou 32 bits.
    Si les données viennent d'un ordinateur de type différent du vôtre: (big-endian(HP, IBM), little-endian(DEC, PC)) (Si l'image est mal swappée, elle apparaîtra comme bruitée à la visualisation).
  • entrer la géométrie (éditeurs ``Width'' et ``Height'') des images. Ces dimensions doivent être contenues dans la taille de l'espace plan préalablement défini.
  • dans la fenêtre de sélection des fichiers, choisir votre répertoire d'images et cliquer sur la première image. Si la taille correspond bien à vos choix (Wight, Height, Deep), elle apparaîtra dans la liste des sélections. A ce stade vous pouvez sélectionner les images de trois manières différentes:
    1. une par une
    2. plusieurs à la fois (combinaison du clic à la souris et de la touche Control)
    3. cliquer ``Select all size matching file''

  • activer ``Link selected files to planes''

Les images apparaissent alors dans la fenêtre principale.

Si un lien EXISTE déjà, le bouton ``DATA PLANES AND WORKS SPACE WITH LINKS ACCESS'' est remplacé par un bouton ``CREATE/ADD DATA PLANE LINKS''. Un menu apparaît avec les différents plans et les images utilisées. Trois choix vous sont offerts:

  1. ``Clear all links and create new ones''
  2. ``Add new links'' (Voir ci-dessus §2.1.2)
  3. ``Cancel''

2.2  WORK ON->WORKSPACE GEOMETRY

Msphinx_WO_Geo.gif
Msphinx_WO_Geo2.gif

Ce menu permet de définir ou de modifier l'espace de travail virtuel.
La liste des espaces déjà définis apparaît dans la liste en haut à gauche.
Le sigle C->(Current) indique l'espace utilisé.
Si vous avez plusieurs espaces définis, vous pouvez cliquer sur un autre espace: le signe P->(Pending) apparaît.
OPTIONS:

  • Définition de l'espace de travail:
    ``Replace/Create workspace'' permet de créer ou de modifier un espace de travail.
    ``Apply this workspace'' permet de modifier la géométrie de l'espace existant en conservant les images.
    Si la mémoire contient des images, un panel de ``Warning'', montrant la mémoire utilisée, apparaît.
    Si la profondeur du nouvel espace est différente, les plans différents garderont leur profondeur initiale. Par contre, si la géométrie (Width, Height) diffère, les plans seront retaillés avec possibilité de perte de colonnes et lignes à droite et en bas. (Options du menu Warning ``do it'' ou ``cancel'')

  • Définition des cellules:
    le bouton ``Clear all cells'' permet de repartir d'un espace vide de cellules.

    Cas de cellules irrégulières:
    Vous avez deux façons de fixer la géométrie d'une cellule:

    1. Taper la géométrie et la position de la cellule dans les éditeurs puis activer ``Create new cell''.
    2. activer le bouton ``fill with mouse'' puis dessiner en haut à droite dans la fenêtre ``espace courant'' la cellule avec le bouton gauche de la souris. puis activer ``Create new cell''.

    Pour modifier la géométrie d'une cellule: la sélectionner directement avec la souris dans l'``espace courant'' ou à l'aide des flèches de sélection des cellules, puis modifier sa géométrie dans les éditeurs, ensuite activer ``Replace current cell''.

    Cas de cellules régulières:
    Activer le toggle ``Regular grid''; puis taper la géométrie dans les éditeurs ex :

    X = 0 Y = 0 Width = 100 Height = 100
    puis activer ``Create new cell'': l'espace à partir du point (X,Y) est couvert d'une grille.

  • Cas particulier:
    Deux grilles différentes régulières dans le même espace. Activer le toggle ``Regular grid'' puis taper la première géométrie dans les éditeurs ex:
    X = 0 Y = 0 Width = 512 Height = 512
    puis activer ``Create new cell''; cliquer sur la cellule en bas à droite puis activer ``Delete cell'' puis taper la seconde géométrie dans les éditeurs ex:
    X = 512 Y = 512 Width = 256 Height = 256
    puis activer ``Create new cell''.

2.3  WORK ON->SET VIEW PLANES

Sphinx_planes.gif

Ce menu offre 3 possibilités:

  1. il permet de choisir l'un des 3 (ou les 3) plans servant à la visualisation, codés sur 8 bits et représentant les intensités Rouge, Vert et Bleu en mode vraie couleur ou représentant un index (0->255) dans une table codant les couleurs en mode fausse couleur. Un travail automatique important de transformation est réalisé lors du passage d'un plan de données à un plan de visualisation si les données de base ne sont pas codées entre 0 et 255.

    L'utilisateur peut affiner cette transformation linéaire par l'utilisation du menu ``Display->Enhance display''.

    Sélectionner dans la liste un plan (de 1 à 512), puis activer l'un des toggle ``Set Red'' ``Set Green'' ou ``Set Blue''. Si le plan choisi contient déjà une image (son nom est écrit à la suite du numéro du plan), et si la fenêtre principale est dans le mode du plan choisi (positionnée sur ``Blue''avec le toggle activé ``Blue'') ou si elle est en mode vraie couleur, l'image apparaît.

    Une fois le toggle sélectionné, (``Set Red'' etc...), il suffit de cliquer 2 fois sur un plan dans la liste pour l'affecter au plan visualisé.

  2. il permet de détruire complètement un plan et de libérer les ressources correspondantes. Sélectionner dans la liste un plan puis activer le toggle ``Destroy'' (contrairement aux affectations, un seul plan peut être détruit à la fois).

  3. il permet de modifier le type de données donc la profondeur d'un plan: sélectionner dans la liste un plan; activer le menu ``None'' et choisir une des options ``Unsigned char'', ``Signed char'' ...
    Le plan change de type. À partir de cette étape, il suffit de cliquer 2 fois sur un plan pour qu'il adopte le même type. Cette transformation est uniquement ascendante (8 bits ->16 bits ->32 bits); le type de données englobant les autres étant le ``Float'' 32 bits.

2.4  WORK ON->DEFINE VIEWPORT

Msphinx_WO_VPort.gif

Ce menu permet de définir rapidement les plans R, V, B ainsi qu'un sous-domaine de l'espace réel à visualiser (Zoom permanent).

  • Couleur:
    Modifier, s'il y a lieu, les éditeurs ``Red'' ``Green'' ``Blue'' puis activer ``Apply''.

  • Géométrie:
    Modifier les éditeurs ``X, Y, Width, Height'' directement ou par l'option ``Grid position'' ou ``Mouse position'' puis activer ``Apply''.

  • L'option ``Fit view window'' détruit la proportionnalité largeur/hauteur de la zone sélectionnée par rapport au rapport largeur/hauteur de la fenêtre principale.

==========================================================

Chapitre 3
WINDOW

==========================================================

3.1  WINDOW->STANDARD WINDOW

Ce mode réalise un échantillonnage en lignes et colonnes de l'image réelle pour l'adapter à la taille de la fenêtre de visualisation en conservant les proportions de l'image de base.

Si l'image de base possède un quadrillage régulier ou si le plan graphique contient un quadrillage régulier, celui-ci pourra ne pas apparaître dans ce mode de visualisation. pour le voir, il faudra passer en mode Window->Scroll window.

3.2  WINDOW->SCROLL WINDOW

La visualisation est en pleine résolution mais vous ne voyez qu'une partie de l'image. Ce mode est facilité par un agrandissement maximum de la fenêtre principale de visualisation. Pour se déplacer, il faut utiliser les ascenseurs bas et droit (la zone rouge indiquant la zone où le déplacement sera immédiat) ou utiliser la petite fenêtre en haut à gauche de la fenêtre principale et cliquer dans la zone à visualiser. On peut également se déplacer dans cette petite fenêtre en maintenant le bouton de la souris pour déplacer la zone visualisée.

Deux modes de comportement existent dans ce mode:

  • l'option de lancement ``-ScrollPage [taille de la page]'' englobe complètement l'espace de travail défini; la création de l'image sera plus longue mais tous les déplacements seront instantanés. L'image générée est une pixmap, transférée sur l'écran: celui-ci doit pouvoir supporter localement la taille demandée.
  • l'espace de travail est supérieur à la taille de la page; Seule sera créée une image de la taille de la fenêtre sur l'écran. Les déplacements successifs entraîneront une recomposition de cette image; les déplacements seront donc plus lents.

3.3  WINDOW->REFRESH

Redessine la fenêtre principale.

3.4  WINDOW->MASK/UNMASK OVERLAY PLANE

Le plan graphique se superpose (``Overlay'') sur le plan image; cette option permet de le cacher ou de le faire apparaître.

3.5  WINDOW->CLEAR GRAPH PLANE

La partie du plan graphique contenant les graphiques (ajout d'annotations, par exemple) est réinitialisée à la couleur transparente.

3.6  WINDOW->CLEAR MASK PLANE

La partie du plan graphique contenant les masques (menu Edit->Pixel & mask §5.5) est réinitialisée à la couleur transparente.

==========================================================

Chapitre 4
FILE

==========================================================

Généralités:
Tous les menus d'entrées-sorties comportent les mêmes options de sélection pour les répertoires de travail et les mêmes options de sélection de la géométrie (espace, plan) des images.

  • répertoire de travail:

    Le répertoire de travail est montré dans l'éditeur en haut de la fenêtre. Vous pouvez taper directement un nouveau répertoire dans l'éditeur ou utiliser la souris pour naviguer dans l'arborescence des fichiers Unix.

    Selection
    Charge le contenu du répertoire indiqué.
    ..
    Charge le répertoire directement supérieur.
    $home
    Charge votre répertoire principal.
    $cwd
    Charge le répertoire où Msphinx a été lancé.

    Pour sélectionner un fichier, vous pouvez taper son nom dans l'éditeur ``file'' ou cliquer sur son nom dans la liste des fichiers.
    L'éditeur ``File name filter'' vous permet de placer en tête de liste tous les fichiers contenant la chaîne de caractère spécifiée.
    ex:
    vous tapez: vous obtenez en tête de liste:
    *data tous les fichiers finissant par ``data''.
    data* tous les fichiers commençant par ``data''.
    *data* tous les fichiers ayant ``data'' dans leur nom.

  • L'espace de travail:
    Voir précédemment (page pageref) le détail de l'adressage mémoire dans les menus.

Particularités:
  • File->Simple file read
    Si vous sélectionnez une image mais que l'espace de travail est en vraie couleur, l'image sera dupliquée dans les plans ``Red Green Blue''.

  • File->Tiff Gif Jpg ppm (etc...) read

    Vous sélectionnez une image vraie couleur (par exemple en format Tiff ou jpg).

    • Si votre espace de travail est en vraie couleur les trois plans seront chargés
    • Si votre espace de travail est Red, Green ou Blue ou un plan quelconque, l'image sera transformée en une image d'index associée à une table couleur (image et table seront chargées dans le plan de travail), le résultat restituant ``au mieux'' l'image d'origine codée sur 16 millions de couleurs.

    Vous sélectionnez une image fausse couleur (index + table couleur) (par exemple en format gif ou tiff).

    • Si votre espace de travail est en vraie couleur, l'image sera transformée en trois plans Red, Green, Blue et les trois plans de travail seront chargés
    • Si votre espace de travail est Red, Green ou Blue ou un plan quelconque, image et table seront chargées dans le plan de travail.

4.1  FILE->SIMPLE FILE READ

Msphinx_FI_sfr.gif

En sélectionnant un fichier dans la liste, deux solutions s'offrent à vous:

  • soit le logiciel est capable de déterminer la taille. En effet, les types et les tailles d'images déjà lues sont enregistrés dans un fichier (``sphinx_fmt'' sous $home/.Msphinx). Si Msphinx reconnait l'image, les caractéristiques seront affichées dans la fenêtre en bas à gauche et il suffira d'activer ``Load''.
  • soit il faut décrire la structure de l'image dans le menu ``Format descriptor'' (voir le §4.1.2).

4.1.1  Description des options générales:

  • ``fit size to cell''
    Si cette option est activée, l'image sera agrandie ou réduite à la taille choisie pour la visualisation (éditeurs ``Width'' et ``Height'' ou leurs valeurs par défaut), tout en gardant son facteur de proportionnalité.
  • ``No rotation''
    Ce menu est un menu à choix multiple qui permet de réorienter l'image:
    • No rotation
    • Up side down
    • Left side right
    • Up/down & Left/right

  • ``Enhance display image''
  • ``8 bit (Unsigned)''
    Ce menu permet de préciser le type des données:
    • 8 bit (Unsigned)
    • 8 bit (Signed)
    • 16 bit (Unsigned)
    • 16 bit (Signed)
    • Integer (32 bit Unsigned)
    • Integer (32 bit Signed)
    • Float (32 bit)
    • Free Format Cette option permet de lire des images dont les pixels sont codés de manière particulière. Ce codage est décrit dans le menu ``Format descriptor'' voir le §4.1.2

  • ``Format descriptor''
    appelle le menu de description du format de l'image dans le cas où celle-ci ne serait pas reconnue ou mal reconnue (voir le §4.1.2).
  • ``Image preview''
    appelle un menu de sélection qui permet d'extraire une zone à lire dans l'image (voir le §4.1.3).

Le rectangle vert, en bas à droite, contiendra un aperçu de l'image une fois la lecture terminée.

4.1.2  Descripteur de format

Msphinx_FI_fd.gif

Ce menu permet une description détaillée de l'image.

  • Actions à la lecture (``Pixel value selection'').
    Les options suivantes permettent de modifier les valeurs des pixels décodés.
    • ``Cut values''
      Permet d'écrêter les valeurs des pixels:
      Les pixels dont la valeur est inférieure au ``minimum'' sont ramenés à ce minimum; ceux dont la valeur est supérieure au ``maximum'' sont ramenés à ce maximum.
    • ``Best (Min,Max)''
      Une recherche automatique est réalisée: 1% des pixels donne le minimum et 99% des pixels donne le maximum.
    • ``Mask value''
      réalise un filtrage des données:
      exemple: si mask=``00ff'' alors l'opération ``pixel & 00ff'' est réalisée et les bits de poids fort (> 255) sont supprimés.

  • Dans le cas de fichier contenant plusieurs images ``Image bands description'':

    BSQ.gif

    dans le cas de fichier ``Interleaves'', ``Band nr'' est le nombres d'images différentes contenues dans le fichier. Il faut alors préciser le format d'enregistrement (lignes ou colonnes).
    Par exemple pour 3 canaux rangés en ligne:

    ligne1 ... data ... (canal1)
    ligne1 ... data ... (canal2)
    ligne1 ... data ... (canal3)
    ligne2 ... data ... (canal1)
    ligne2 ... data ... (canal2)
    ligne2 ... data ... (canal3)

    il faudra indiquer ``Band nr''=3 et sélectionner ``In row''.
    ``Band selection'' est le numéro du canal à extraire.

  • Description du fichier proprement dit (``File description'').

    file_descrip.gif

    3 éditeurs:

    • Lines [default]: nombre de lignes de l'image
    • Columns [default]: nombre de colonnes de l'image
    • Header length: longueur (en octets) de l'en-tête du fichier (zone à sauter au début du fichier avant de trouver la première ligne)

    Le ``[default]'' est la longueur de la ligne ou de la colonne que Msphinx  a apparemment reconnu. N.B. Le ``Trailer'' du fichier n'est pas décrit, puisque inutile.

  • Description d'un enregistrement (``Record description'').
    Dans un enregistrement de base:
    • Header size: taille de l'en-tête de l'enregistrement
    • Trailer size: taille de la zone à sauter en fin de l'enregistrement
    • Length: longueur de l'enregistrement, ``Header size'' et ``Trailer size'' compris

    Toutes les tailles sont exprimées en octets.

  • Description d'un pixel dans le cas d'une lecture en ``Free format''.
    Cette option est accessible en activant l'onglet triangulaire en bas de la fenêtre.
    4 éditeurs:
    Pixel length Block length
    Header Trailer

    Toutes les longueurs sont exprimées en bits.

4.1.3  Image preview

Msphinx_FI_ip.gif

Le menu ``Sphinx_read_preview'' peut être agrandi pour améliorer la définition de l'image prévisualisée.

Ce menu permet d'échantillonner une zone de l'image d'entrée. Pour cela il faut, soit remplir les éditeurs à la main (Line start, end et step), (Column start, end et step), soit utiliser la souris (cliquer sur ``Mouse selection''). L'option ``Rebuild'' reconstruit l'image sélectionnée. Quand le choix de la sélection est correct, il suffit d' activer ``Load'' du menu ``Sphinx_read_on_display'' pour charger l'image.

4.2  FILE->TIFF GIF JPG PPM READ

Msphinx_FI_tiff.gif

Ce menu a pour but le décodage de fichiers-images normalisés. Le bouton ``Show matching files'' permet de balayer un répertoire et de n'en sélectionner que les fichiers visualisables.
Ils sont présentés sous la forme : [logiciel de visualisation] fichier.
Dans l'exemple:

[xanim] aa.avi
[Msphinx] bb.jpg

le fichier bb.jpg pourra être chargé directement par Msphinx;
le fichier aa.avi pourra être visualisé par xanim, logiciel lancé par Msphinx .

La fenêtre ``Directory content'' permet la sélection d'un ou de multiples fichiers de types différents; dans ce cas, plusieurs visualiseurs externes vont être exécutés et plusieurs images vont être chargées dans les plans de travail.

Si l'espace de travail sélectionné est unique (Red ou Green ou Blue) les images s'écrasent les unes après les autres. Si l'espace de travail sélectionné est ``Plane no'' avec un no de plan de 1 à 511, le numéro du plan sera incrémenté à chaque image et toutes les images lisibles seront chargées dans les mémoires de travail.

4.3  FILE->HDF READ

Lancement du module externe de lecture des fichiers au format HDF (Hierarchical Data File).
Ce logiciel, HDFLook , a son propre manuel. Il permet de générer ou de modifier un projet existant et d'ajouter des images dans les plans de travail de Msphinx .

4.4  FILE->SATELLITES->POLDER

Lancement du module externe de lecture des fichiers POLDER.
Ce logiciel représente un bel effort pour simplifier l'analyse et la visualisation de données complexes définies dans un format où rien n'a été fait pour optimiser les accès à un paramètre précis. Il s'appuie fortement sur des logiciels réalisés précédemment Mgraph et HDFLook .
Tous ces logiciels ont leur propre manuel.
Mpol permet de générer ou de modifier un projet existant et d'ajouter des images dans les plans de travail de Msphinx .

4.5  FILE->LUT READ

Msphinx_FI_lut.gif

Ce menu permet d'ajouter des tables de fausses couleurs personnalisées aux tables de base du logiciel. Elles seront ensuite disponibles dans le menu ``Color->More palettes->user lut base''. Le fichier doit être de type ASCII dans le format: pixel no (0-255), intensité de ``Red'', ``Green'', ``Blue'' (0-255)

exemple d'une table en niveaux de gris:

0 000 000 000
1 001 001 001
2 002 002 002
3 003 003 003
4 004 004 004
5 005 005 005
6 006 006 006
7 007 007 007
8 008 008 008
. ... ... ...
255 255 255 255

Après avoir sélectionné le fichier, activer le bouton ``Load'' qui vérifie le format du fichier. Un éditeur ``Base lut name'' apparaît; taper le nom de la palette qui sera visualisée dans la base puis activer ``Save on base''.

4.6  FILE->ASCII FILES

Msphinx_FI_vect.gif

Ce menu permet de décoder des fichiers ASCII représentant des données particulières:

  • surface X,Y,Z ou simplement Z
  • fichiers de tracé de lignes, symboles et textes
  • Champs de flèches

4.6.1  Création d'une image à partir d'un fichier ASCII de points.

Les différentes options sont:
  • ``(Z) Regular grid''
    Il s'agit d'un fichier de valeurs représentant les points d'une surface sur une grille régulière.

    La surface finale aura la taille de l'espace de travail défini par l'adressage mémoire (X, Y, Width, Height). La surface sera, soit interpolée par des triangles, soit par le ``Nearest pixel interpolation'' si cette option est activée. Si des trous (zones sans résultats) apparaissent dans l'image finale, la valeur ``Region distance factor'' devra être incrémentée.

    les éditeurs :

    • ``numbers of columns'' précise le nombre de colonnes du fichier ASCII (optionnel)
    • ``Number of lines'' précise le nombre de lignes (optionnel)
    • ``Lines to skip'' indique le nombre de lignes à sauter au début du fichier
    • ``Undefine value'' indique un nombre particulier représentant un masque et ne devant pas être utilisé dans les interpolations.

    Activer `` Load''; la surface apparaît dans la zone sélectionnée.

  • ``(X Y Z) Regular or Irregular grid''
    Les données sont représentées sous la forme une valeur de X de Y puis de Z.

    Les mêmes options que pour la ``Regular grid'' existent avec 3 éditeurs de positionnement supplémentaires: ``X column, Y column, Z column'' qui permettent d'extraire un champ particulier.

    Activer `` Load''; la surface apparaît dans la zone sélectionnée.

4.6.2  Tracés de lignes, de symboles ou de textes

  • ``Plot (X Y) file''
    Un fichier ASCII permet de réaliser des tracés simples dans le plan graphique. L'espace final a la taille, en pixels, de l'espace de travail défini par l'adressage mémoire.
    ATTENTION: Le point origine du tracé se trouve en bas à gauche de l'espace de travail défini. Un exemple de fichier est donné dans le répertoire:
    DEVEL_DOCUM/TUTOR_MSPHINX/IMAGES/ASCII ASCII_DRAWING

    • Format du fichier:
      La géométrie de tracé peut être introduite dans les éditeurs ``Field geometry'' (X min, Xmax, Y min, Y max) dans les unités des X, Y à tracer.
      Le fichier ASCII le plus simple est une série de valeurs X, Y tracées avec la couleur sélectionnée (Menu ``Red'') et l'épaisseur dans l'éditeur ``line width''

    • Format des directives:
      Des directives peuvent être introduites dans le fichier: les lignes du fichier commençant par le caractère # seront considérées comme des commentaires; le caractère \ signale que la ligne suivante est la suite de cette ligne.
      Le mot ``Break'' permet de rompre la continuité d'une courbe.
      Le mot ``NewCurve'' permet de changer de courbe. Le numéro servant de référence à la courbe est incrémenté automatiquement à chaque nouvelle courbe créée.
      Ce numéro est utilisé dans l'option ``LineStyle'' (``Curve='').

      Verbose
      XLimits MINIMUM=-1 MAXIMUM=-1
      YLimits MINIMUM=-1 MAXIMUM=-1
      LineStyle CURVE=1 STYLE=Solid COLOR=Black THICKNESS=1
      PlotText X=0 Y=0 FONTNO=1

      FOREGROUNDCOLOR=Black BACKGROUNDCOLOR=White

      BORDERTHICKNESS=1 TEXT="text to plot"

      PlotMark X=0 Y=0

      COLOR=Black STYLE=BigDot SIZE=1

      PlotBox X1=0 Y1=0 X2=0 Y2=0

      COLOR=Black STYLE=BigDot THICKNESS=1

      PlotLine X1=0 Y1=0 X2=0 Y2=0

      COLOR=Black STYLE=Solid THICKNESS=1

      PlotArrow X1=0 Y1=0 X2=0 Y2=0

      COLOR=Black STYLE=Solid THICKNESS=1

      Color :
      Red Blue Magenta Black Green Forest Sienna Yellow Coral Violet Plum Cyan Turquoise

      LineStyle :
      Solid NoLine MicroDash SmallDash Dash LongDash DashDot LineDot

      MarkStyle :
      NoMark BigDot SmallDot Cross X Square Diamond TriangleUp TriangleDown Circle FSquare FDiamond FTriangleUp FTriangleDown Fcircle

    • Exemple de fichier:
      # as first character comments the line
                      #Verbose
                      Xlimits  Minimum=1 Maximum=2.875
                      Ylimits  Minimum=5.148 Maximum=174.8
      
                      #  curves are separated by the word NEWCURVE
                      # inside a curve:
                      #               -the word BREAK interrupt the plot
                      #               -a word with a color name modify the current color style
                      # in the command LINESTYLE:
                      #               -if CURVE=-1 (apply to all curves)
      
                      LineStyle Curve=1 Style=MICRODASH Color=YELLOW Thickness=2
      
                      PlotText X=1.08  Y=170 ForegroundColor=BLACK BackgroundColor=WHITE FontNo=0 \
                                             BorderThickness=2  "CONTOUR DRAWING"
      
                      PlotMark Color=RED Style=FDIAMOND Size= 6 x=2.552 y=150.673
      
                                            1.45781 57.8183
                                            1.46869 57.3763
                                            1.59857 50.015
                                            1.61742 48.9019
                                            1.75384 43.2077
                                            ...
                                            Break
                                            1.57157 107.341
                                            1.5755 107.437
                                            1.6927 110.763
                                            1.7308 111.119
                                            1.80193 113.415
                                            ...
                                            NewCurve

  • ``Arrow field (X,Y,Ro,Teta)''
    Tracé d'un champ de flèches définies par la position de départ, le module et l'argument.
    La géométrie de tracé peut être introduite dans les éditeurs ``Field geometry'' (X min, Xmax, Y min, Y max) dans les unités des X, Y à tracer; elles correspondent, en pixels, à l'espace de travail défini par l'adressage mémoire. Trois options sont possibles: la couleur, l'épaisseur du trait et un facteur arbitraire ``Length factor'' permettant d'ajuster les longueurs des flèches au tracé.

4.7  FILE->WRITE

Rappel: Les programmes d'écriture ci-dessous s'appliquent soit aux plans de données, appelés égalent plans de TRAVAIL, (qui sont de taille et de profondeur quelconques, voir page 1), soit aux plans de VISUALISATION (3 plans de 8 bits de profondeur associés à une table de couleur, voir §2.3).

Les formats Jpeg, Tiff et Gif sont utilisés en général pour de la visualisation. Ils s'adressent donc particulièrement aux plans de VISUALISATION.

Les autres formats (HDF et simple) permettent de sauvegarder les plans de TRAVAIL dans un format quelconque.

4.7.1  File->WRITE->Simple file write

Permet d'enregistrer des fichiers sur disque à partir des images archivées dans les plans DE TRAVAIL. Si les plans à écrire sont ``RGB'' les fichiers générés auront un nom de la forme : myfilename.R ,myfilename.G ,myfilename.B Si les plans à écrire sont : ``All planes'' les fichiers générés auront un nom de la forme : myfilename.P001, myfilename.P002 etc... Dans le cas général le nom est celui écrit dans éditeur ``File''.

4.7.2  File->WRITE->Tiff Gif Jpg Ppm write

Msphinx_FI_others.gif

Permet de générer des fichiers disques à partir des images archivées dans les plans de VISUALISATION en 8 bits avec les tables couleur associées.
Il permet également d'ajouter un bandeau de couleur, avec du texte, autour de l'image (Add a frame).

4.7.3  File->H.D.F. Write

Permet de créer ou d'ajouter des fichiers au format HDF (Hierarchical Data File), soit à partir des plans de données en créant des fichiers SDS (Scientific Data Set) soit à partir des plans de visualisation en créant :

  • des fichiers images associés à une table de couleur pour les plans simples
  • des fichiers images vraie couleur (3 plans de 8 bits représentant les intensités de rouge, vert, bleu de l'image, mode RGB).

4.7.4  File->Write LUT in user's lut base

Ce menu permet de sauver dans un fichier le contenu de la LUT (Look Up Table) utilisée dans la visualisation des images en mode plan simple (Red, Green or Blue). Le format est: pixel no (0-255), intensité de "Red", "Green", "Blue" (0-255)

exemple d'une table en niveaux de gris:

0 0 0 0
1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4
5 5 5 5
6 6 6 6
7 7 7 7
8 8 8 8
. ... ... ...
255 255 255 255

Le répertoire d'écriture est:                .Msphinx/USER_LUTS

4.8  FILE->MPEG ANIMATION

Msphinx_FI_mpeg.gif

Création d'une animation en format mpeg à partir d'images consécutives chargées dans les plans de travail, ceci indépendamment de la taille des images d'origine.

Au lancement du menu la fenêtre ``Sphinx_zoom'' apparaît. Cette fenêtre représente exactement la zone qui sera animée et la taille de l'animation.

  • [étape 1] activer ``Select area'' dans la fenêtre ``Zoom''; puis sélectionner tout ou partie de l'image dans la fenêtre principale. Ajuster la taille du zoom en fonction de la taille de l'animation finale que vous désirez.
  • [étape 2] remplir les éditeurs ``Fisrt plane'' ``Last plane'' avec le début et la fin de l'animation
  • [étape 3] Activer ``Same lut for all frames'' si vous voulez une table de conversion couleur identique pour toutes les images.
  • [Remarques] si votre série d'images a été obtenue par lecture d'image tiff, gif, jpeg, chaque plan a été chargé avec sa propre table de conversion couleur; aussi il faudra désactiver l'option ``Same lut for all frames'';
    deux éditeurs permettent dans le cas d'une série d'images nécessitant une convertion (data ->table de couleur) de fixer les mêmes extrêmes pour l'ensemble des images. Le minimum sera vu au niveau zéro de la table de couleur, le maximum au niveau 255 de la table de couleur.

Vous pouvez insérer, en tête de l'animation, une image de même taille saisie sur votre écran: Par exemple: lancer ``Print&Settings->XFIG tools'', taper un texte dans la page XFIG, exécuter ``Grab an image as first frame'', encadrer votre texte, appuyer sur un bouton de la souris, l'image est saisie.
Exécuter ``Show (run a few frames)'';
si le résultat vous convient:
Exécuter ``Create the final animation'', le fichier mpeg est créé avec le nom introduit dans éditeur ``Output mpeg file name''.

Quelque options suppplémentaires sont disponibles. Elles représentent les données d'entrée du programme mpeg_encode qui permet de générer l'image finale:

                											PSEARCH_ALG <algorithm>
                											     algorithm must be one of {EXHAUSTIVE, TWOLEVEL, SUBSAMPLE,
                											     LOGARITHMIC}.  Tells what kind of search procedure should be
                											     used for P-frames.  Exhaustive gives the best compression,
                											     but logarithmic is the fastest.  You select the desired
                											     combination of speed and compression.  TWOLEVEL is an
                											     exhaustive full-pixel search, followed by a local half-
                											     pixel search around the best full-pixel vector (the PIXEL
                											     option is ignored for this search algorithm).

                											BSEARCH_ALG <algorithm>
                											     algorithm must be one of {SIMPLE, CROSS2, EXHAUSTIVE}.
                											     Tells what kind of search procedure should be used for B-
                											     frames.  Simple means find best forward and backward
                											     vectors, then interpolate.  Cross2 means find those two
                											     vectors, then see what backward vector best matches the best
                											     forward vector, and vice versa.  Exhaustive does an n-
                											     squared search and is EXTREMELY slow in relation to the
                											     others (Cross2 is about twice as slow as Simple).

                											IQSCALE <n>
                											     use n as the qscale for I-frames

                											PQSCALE <n>
                											     use n as the qscale for P-frames

                											BQSCALE <n>
                											     use n as the qscale for B-frames

                											

Vous trouverez également le manuel de l'encodage MPEG en annexe B.

4.9  FILE->GIF ANIMATION

Msphinx_FI_gif.gif

Création d'une animation en format Gif à partir d'images consécutives chargées dans les plans de travail, ceci indépendamment de la taille des images d'origine.

Voir le détail au paragraphe précedent: ``Create an Mpeg animation''.

4.10  FILE->SPINNING GLOBE

Msphinx_FI_spin.gif

Création d'une animation en format GIF, c'est à dire directement utilisable dans les présentations des pages Web. Cette animation permet de faire tourner un globe représentant, par exemple tout ou partie de la terre à partir d'une image de taille quelconque chargée dans un plan de travail.


    étape 1 Sélectionner la zone et le plan de travail à l'aide des menus éditeurs placés en haut à gauche.
    étape 2 Dans la partie du menu appelée ``From geometry'', sélectionner la géométrie de la zone sélectionnée en degrés
    étape 3 Choisir la taille de l'animation finale en pixels ``Icon size''. Au plus la taille est grande, au plus le fichier final sera important et donc le transfert sur le Web long.
    Déterminer le décentrage en degré latitude et longitude. Déterminer le nombre d'images à générer.
    étape 4 Dans la partie ``Addings'', si l'on veut tracer des grilles, choisir la géométrie en longitude, et latitude et le pas, choisir la couleur et activer ``Add grids''.
    Si l'on veut ajouter un fond de carte, choisir sa couleur et activer ``Add earth map''.
    étape 5 taper le nom du fichier à générer.

Activer ``create the icon file''

==========================================================

Chapitre 5
EDIT

==========================================================

5.1  EDIT->PIXEL VALUES

Pixel_values.gif

Permet d'éditer les valeurs des pixels d'une petite zone 3×3 ou 5×5 ou 9×9. Il suffit de cliquer dans l'image pour changer de zone. Les valeurs sont éditables en décimal, hexadecimal ou binaire. L'option ``Show all banks'' change la visualisation des valeurs en un mode représentant une ligne par plan de données. ex: (seuls les plans 1 2 3 5 6 7 contiennent des données)

                											           b= Red[ChU] x=  450 y=  488 v=      92 mean 3X3 =   103.7
                											           b= Gre[ChU] x=  450 y=  488 v=      77 mean 3X3 =    82.3
                											           b= Blu[ChU] x=  450 y=  488 v=      77 mean 3X3 =    78.8
                											           b=   5[ChU] x=  450 y=  488 v=      77 mean 3X3 =    78.8
                											           b=   6[ChU] x=  450 y=  488 v=      77 mean 3X3 =    82.3
                											           b=   7[ChU] x=  450 y=  488 v=      92 mean 3X3 =   103.7
                											

En option, existe la possibilité de tracer une courbe à partir de la valeur du pixel ou le la valeur moyenne (3×3 ou 5×5 ou 9×9) pour tous les plans contenant des données (par exemple pour étudier une évolution temporelle). Dans le menu, passer l'option ``No plot'' à l'option ``Draw pixel'' ou ``Draw mean'' puis cliquer un point de l'image: une fenêtre Mgraph apparaît avec le (les) point(s). Si vous sélectionnez d'autres points les courbes s'accumuleront dans la fenêtre de tracé.
Si des valeurs aberrantes viennent perturber le tracé, vous pouvez les enlever en utilisant le menu ``Drawing_area->Clear area'' de Mgraph .
En choisissant cette option de tracé, 3 nouveaux boutons apparaissent:

Msphinx_ED_pv2.gif

  • ``Clear graph''
    efface toute la fenêtre de tracé.
  • ``Clear&keep last''
    efface toute la fenêtre de tracé mais conserve la dernière courbe.
  • ``Set User's X''
    Cette option très particulière permet de donner des valeurs, autres que le numéro du plan, aux abscisses de la courbe.
    Pour cela, il faut utiliser la zone d'édition à gauche du panel et taper la correspondance du numéro du plan de données avec la valeur en abcisse:
    exemple:
    1 443
    2 490
    3 565
    5 670
    6 763
    7 765

    Si vous activez l'option, les valeurs éditées deviennent:

                    											        b= Red[ChU] :443 x=  938 y=  735 v=     136 mean 3X3 =   132.3
                    											        b= Gre[ChU] :490 x=  938 y=  735 v=     164 mean 3X3 =   159.4
                    											        b= Blu[ChU] :565 x=  938 y=  735 v=     197 mean 3X3 =   192.3
                    											        b=   5[ChU] :670 x=  938 y=  735 v=     197 mean 3X3 =   192.3
                    											        b=   6[ChU] :763 x=  938 y=  735 v=     164 mean 3X3 =   159.4
                    											        b=   7[ChU] :765 x=  938 y=  735 v=     136 mean 3X3 =   132.3
                    											
    Le tracé des points est réalisé avec les nouvelles valeurs de x.

Remarque: vous pouvez également sauver l'ensemble des valeurs archivées dans Mgraph en utilisant le menu ``Files->Export Data...->Data to file...''.

5.2  EDIT->DUMP IMAGE VALUES

Msphinx_ED_sv.gif

Cette option réalise un affichage dea valeurs des pixels du plan de données visualisé dans la fenêtre principale. Vous pouvez agrandir la fenêtre ``Sphinx_show_values'' pour plus de commodité de lecture.
Les ascenseurs à droite et en bas permettent de se déplacer dans une sous-matrice 50×50 pixels. Les ascenseurs en haut et à gauche permettent de déplacer la sous-matrice 50×50 dans l'image globale.

les données peuvent être imprimées dans plusieurs types: decimal, hexadecimal ou binaire.

5.3  EDIT->MOVE EXCHANGE ROTATE

Msphinx_ED_me.gif

Ce menu permet de modifier :

  • les plans de données
  • les plans de visualisation
  • le plan graphique et le plan de masque
  • les tables de couleurs (copy, exchange)

Un menu et des éditeurs apparaissent permettant de déterminer la géométrie de la zone émettrice, la géométrie de zone réceptrice, les plans de travail.

  • [Clear...] Efface une zone de l'image en mettant toutes les valeurs à zéro
  • [Copy...] Copie d'une zone dans une autre
  • [Exchange...] Echange de deux zones
  • [Rotate & Cut...] Rotation d'une zone (carrée) sur elle-même de 90 degrés
  • [Rotate...] Rotation d'une zone (rectangulaire) sur l'image de 90 degrés
  • [Up side down...] Inverse l'image de haut en bas
  • [Left side right...] Inverse l'image de gauche à droite
  • [Complement...] Réalise un complément à 255 des valeurs de l'image visualisée.
  • [Clear selected color...] Uniquement sur le plan ``Work on mask area'', cette option permet d'effacer une couleur particulière du plan.

5.4  EDIT->IMAGE RESIZE

Msphinx_ED_imres.gif

Ce menu permet de modifier la taille d'une image. Un menu et des éditeurs apparaissent permettant de déterminer la géométrie de la zone émettrice, la géométrie de la zone réceptrice, les plans de données impliqués.

Plusieurs méthodes d'échantillonnage des données sont proposées:

  • Linear interpolation
  • Nearest pixel
  • Bicubic spline
  • Nearest pixel (Build an icon)

Pour déterminer la taille deux méthodes:

  1. Remplir les éditeurs de géométrie des zones émettrices et réceptrices. Lors de l'``Apply'', les facteurs d'échelle seront calculés automatiquement.
  2. Remplir soi-même les éditeurs ``X factor'' ``Y factor''. Dans ce cas, l'image résultat pourra être tronquée à la géométrie de la zone réceptrice.

Un toggle important ``Linear color scale'':
dans la majorité des cas, les données en mémoire sont représentées à la visualisation par l'intermédiaire d'une échelle couleur linéaire. Par contre les photos numérisées ou le résultat de classifications ont des échelles complètement hachées (non linéaire). Si vous appliquez une méthode d'échantillonnage autre que ``Nearest pixel'', le résultat visuel sera désastreux.
Pour effectuer des échantillonnages interpolés sur ce genre d'image, désactivez le bouton ``Linear color scale'' et cliquez sur ``Apply''. Le calcul se fera en travaillant sur les composantes rouge, vert, bleu et les données recompressées dans une échelle équivalant visuellement à la précédente. (Attention: si les deux images sont dans le même plan de données, l'image d'origine sera translatée dans la nouvelle table couleur).

Fonction ``Nearest pixel (Build an icon)''

Msphinx_ED_icon.gif

Cette fonction a été introduite pour créer de petites images représentatives d'images plus grandes (utilisation typique d'icônes sur le WEB).

Après avoir défini la géométrie des zones émettrices et réceptrices, sélectionnez ``Nearest pixel (Build an icon)''. Deux éditeurs apparaissent:

  • Pixels to keep: ce seront les pixels obligatoirement conservés lors de la projection.
  • Pixels to overlap: ce seront les pixels pouvant être écrasés lors de la projection.

ex: du texte noir sur un fond blanc. Le blanc peut être écrasé, le noir doit être conservé. Les valeurs des pixels peuvent être déterminées par la fonction ``Edit->Pixel value...''

5.5  EDIT->PIXEL & MASK

5.5.1  Création de masque à partir des valeurs des pixels

Msphinx_ED_pixmask.gif

Ce menu permet de générer dans le plan de masque (4 bits) des zones colorées (14 couleurs) correspondant à des valeurs de pixels filtrés par une série de tests.

Pour l'utiliser, il faut définir la géométrie de la zone à traiter (menu en haut à gauche pour la zone et plan de travail).

2 modes de filtrages des pixels:

  1. direct
    Il suffit de remplir les éditeurs (ex : From <= Blue <= To) avec les bornes à tester. Dans le cas de multi plans (R, G, B) vous pouvez choisir les options ``Do AND'' ou ``Do OR'' à réaliser entre chaque plan.
  2. Free format
    Un éditeur et une liste apparaissent. L'éditeur du haut permet de définir des tests sur n'importe quel plan de données avec une syntaxe très simple, ex:
                    											         100<Blue<200
                    											         230<Blue<240
                    											         100 < 4 < 300
                    											         100 < 100 < 400
                    											         # 1<Red<10  (le # permet de commenter une ligne)
                    											
    sera compris comme
                    											         100<Blue<200   (plan bleu, pixel compris entre 100 et 200)
                    											         ou
                    											         230<Blue<240   (plan bleu, pixel compris entre 230 et 240)
                    											         et
                    											         100 < 4 < 300 (plan no 4, pixel entre 100 et 300)
                    											         et
                    											         100 < 100 < 400 (plan no 100, pixel entre 100 et 400)
                    											

    Vous avez la possibilité, en choisissant l'une des options ``Do OR'' ou ``Do AND'', de combiner les plans entre eux à l'aide d'opérations logiques.

A l'``Apply'', les tests réellement pris en compte sont affichés dans la liste du bas.

Options générales:

``Clear mask area'' Efface le plan masque
``Save mask in graphic plane'' Transfère le plan masque dans le plan graphique. Celui-ci ne pourra être effacé que par la commande Window->Clear graph plane
``Invers mask result'' Inverse le masque
``Mask ADD mode'' N'efface pas les masques existant dans la zone électionnée
``mask color'' Choix de la couleur du masque.

  • Vous avez la possibilité d'utiliser une gomme ``Mouse eraser'' pilotée par votre souris.
    Activez cette option: Placez votre souris dans l'image; le bouton de droite permet d'effacer les pixels du masque sous un rectangle prédéfini, le bouton de gauche permet de sortir de la boucle d'effacement.

  • Vous avez la possibilité d'utiliser un crayon ``Mouse drawer'' piloté par votre souris.
    Activez cette option: Placez votre souris dans l'image; le bouton de droite permet d'ajouter des pixels dans le masque sous un rectangle prédéfini, le bouton de gauche permet de sortir de la boucle d'écriture.

5.5.2  Détection automatique des masques

Msphinx_ED_maskdet.gif

Ce menu permet de trouver des zones de pixels constants dans l'image et de créer des zones de couleur dans le plan masque afin de les mettre en évidence.

Définissez une géométrie et un plan de travail dans les menus en haut à droite. Activez ``Compute mask value list''. S'il y a des zones de pixels constants, les valeurs apparaissent dans éditeur ``mask values'' sous la forme: 0 Magenta 50.79%
La donnée zéro représente 50% de la zone et sera dessinée en magenta. Vous avez la possibilité d'ajouter des valeurs à détecter ou de modifier les couleurs prédéfinies en utilisant directement l'éditeur, ex:

                											        0 Magenta 50.79%
                											
peut être modifié en:
                											        0 yellow
                											        100 red
                											
On visualisera les 0 en jaune et la valeur 100 en rouge.

Activez ``Draw mask from the Mask values list''

Les masques rouge et jaune apparaissent dans la fenêtre principale.

Options:

  • ``Clear mode'' La zone de masque est effacée
  • ``Add mode'' Les différents masques se superposeront.

5.5.3  Modification des plans RGB à partir du masque

Msphinx_ED_fillmask.gif

Ce menu permet de modifier les plans de visualisation (8 bits) Red, Green, Blue (imprimables) sans toucher aux plans de données, en affectant au pixels ayant un masque (de couleur quelconque) une couleur déterminée dans une liste ou prédéfinie par l'utilisateur.
Pour l'utiliser, il faut définir la zone de travail et la couleur. Passez en visualisation vraie couleur ``RGB'' activez ``Apply''; activer ``Clear mask area'': la zone qui était masquée apparaît dans la couleur déterminée.
Dans ce mode on va créer une différence entre les plans de données d'image et leur représentation visuelle à l'écran. Pour retrouver les pixels des plans de visualisation Red, Green, Blue d'origine, il faut utiliser le menu ``Display->Enhance display'' qui va permettre de recalculer les pixels des zones de visualisation 8 bits.

5.5.4  Modification d'un plan à partir du masque

Msphinx_ED_fillmask2.gif

Ce menu permet de modifier les plans de données, en affectant aux pixels ayant un masque (de couleur quelconque) une valeur définie par l'utilisateur.
Pour l'utiliser: définir la zone de travail, taper la valeur dans éditeur ``Data plane value'', puis activer ``Apply'', puis activer ``Clear mask area''. La zone qui était masquée apparaît constante. Si vous utilisez ``Edit->Pixel value...'' vous pourrez voir que les données initiales ont été écrasées.

5.6  EDIT->SCALE 24 BITS TO 8 BITS

Msphinx_ED_24.gif

Ce menu permet de transformer, en utilisant l'algorithme de Heckbert's (Color Image Quantization for Frame Buffer), une image 24 bits vraie couleur, définie donc par 3 plans Rouge, Vert, Bleu, archivés dans les plans de visualisation de Msphinx , en une image 8 bits associée à une table de couleur représentant au plus près l'image d'origine codée sur 16 millions de couleurs.

Ce sous-programme ne travaille que sur les plans de visualisation sans toucher aux plans de données.

Pour l'utiliser:
Définir la taille de la zone émettrice/réceptrice, choisir le plan d'archivage du résultat (Red, Green, Blue ou plan no), puis activer ``Apply''; Vous pouvez ensuite visualiser le plan résultat et la table couleur (``Show plane..'' ``Show scale'').

Attention dans cette fonction les plans de données ne sont plus représentatifs des plans de visualisation. Pour retrouver les pixels des plans de visualisation Red, Green, Blue d'origine, il faut utiliser le menu ``Display->Enhance display'' qui va permettre de recalculer les pixels des zones de visualisation 8 bits.

5.7  EDIT->SCALE 8 BITS TO 24 BITS

C'est l'opération inverse de la précédente: un plan (8 bits) associé à une table couleur est décomposé en 3 plans rouge vert et bleu.
Pour l'utiliser:
Définir la taille de la zone émettrice/réceptrice, choisir le plan émetteur rouge ou vert ou bleu, puis activer ``Apply''. Les trois plans de visualisation de Msphinx sont écrasés. Passez en mode ``True color'' pour voir le résultat. Attention dans cette fonction les plans de données ne sont plus représentatifs des plans de visualisation. Pour retrouver les pixels des plans de visualisation Red, Green, Blue d'origine, il faut utiliser le menu ``Display->Enhance display'' qui va permettre de recalculer les pixels des zones de visualisation 8 bits.

5.8  EDIT->GRAB DISPLAY

Msphinx_ED_grab.gif

Permet d'acquérir une copie d'écran en sélectionnant la zone à l'aide de la souris et de la ranger dans les plans de données de Msphinx .
Pour l'utiliser:
Définir la zone réceptrice et le plan de travail. Attention si le plan de travail est simple, l'image sera chargée avec une table de couleur spécifique, si le plan de travail est RGB, l'image est chargée en 3 composantes rouge, vert, bleu.

Options:

  • ``Cut mode''
    la taille de l'image ne peut dépasser la taille de la zone réceptrice.
  • ``Fit mode''
    la taille de l'image sera déformée par échantillonnage (ligne, colonne) à la taille de zone réceptrice
  • ``Fit mode (keep ratio)''
    la taille de l'image sera déformée par échantillonnage (ligne, colonne) à la taille de zone réceptrice en conservant ses proportions hauteur/largeur.

Activez ``Apply''.

Utilisez le bouton de gauche de la souris pour encadrer la zone, ou cliquez dans un panel (le panel et son contenu seront transférés), ou cliquez sur le fond de votre écran (l'ensemble de votre écran sera saisi).

5.9  EDIT->VIEW PLANE PIXEL CHANGE

Msphinx_ED_view.gif

Cette fonction permet de modifier les pixels des plans de visualisation à partir de plages de valeurs des plans de données. Définir la zone réceptrice et le plan de travail. Remplir la zone d'édition ``Value change list''; la syntaxe des commandes est simple: Nom du plan (R, G, B), plage de test, composante couleur (red, green, blue).
ex:.

                											            G .1  .2  255 0 255
                											            B .0  .1    0 255 0
                											
Les pixels dont les valeurs dans le plan vert sont comprises entre .1 et .2 vont apparaître en magenta (rouge+blue). Les pixels dont les valeurs dans le plan bleu sont comprises entre 0 et .1 vont apparaître en vert.

Remarque un éditeur de couleur permet de voir en mode RGB une couleur à partir de ses composantes R, G, B ou en mode plan une couleur à partir d'une valeur de pixel (0-255) dans la table des couleurs associée au plan.

En mode RGB, si votre écran est 8 bits, il vous faudra peut être pointer le rectangle ``Lut color'' pour voir effectivement la couleur définie par les éditeurs R, G, B.

Option Un bouton ``Undo'' permet de retrouver l'image d'origine.

==========================================================

Chapitre 6
DISPLAY

==========================================================

6.1  DISPLAY->SHOW TRUE COLOR

La visualisation passe en mode vraie couleur. Les plans de visualisation Rouge, Vert et Bleu sont utilisés pour définir l'intensité des composantes rouge vert et bleu de l'image finale. Ce mode permet de travailler avec une plage de 16 millions de couleurs pour chaque pixel donc de mélanger sur 3 plans de travail des images de tous types sans détériorer la visualisation finale.
Remarque: Sur un écran (8 bits ) un algorithme (dit 3-3-2) est utilisé pour montrer l'image (seuls 3 bits du rouge 3 bits du vert et 2 bits du bleu constituent les pixels), ce qui dégrade considérablement la visualisation. Par contre les sauvegardes d'images et les impressions se feront correctement.

6.2  DISPLAY->SHOW (Red/Green/Blue) PLANE

La visualisation passe en mode fausse couleur: c'est à dire les valeurs de l'image du plan considéré servent de pointeurs dans une table à 256 entrées fournissant les composantes rouge, verte et bleue du pixel effectivement visualisé.
Remarque: Sur un écran 8 bits, vous disposez de 256 couleurs pour l'ensemble de tous les dessins de votre écran. Pour une utilisation sans ``Flash'' (changement brusque des couleurs quand on passe d'une fenêtre à l'autre) Msphinx a besoin d'au minimum 96 couleurs libres (ou cellules). Un algorithme interne ramène les 256 couleurs associées aux images au nombre réel de cellules libres sur écran (ceci, bien sûr, n'affecte en rien les impressions ou sauvegardes d'images qui se feront avec le maximum de définition). Si le nombre de cellules libres est inférieur à 96, un message apparaît :
                											     Sorry !!! Free Color Cells < 96 :: 7 I have to set My own lut
                											
et Msphinx s'auto alloue un nombre de cellules suffisant pour travailler, avec, comme effet secondaire, des ``Flash'' quand on passe d'une fenêtre de Msphinx à une fenêtre d'un autre logiciel.

6.3  DISPLAY->SHOW COLOR SCALE

Un panel montre l'échelle couleur associée au plan actif dans la fenêtre principale.

6.4  DISPLAY->ENHANCE DISPLAY

Msphinx_DI_enhance.gif

Ce menu permet d'affiner ou de modifier la transformation automatique réalisée par le logiciel à la lecture des plans de données d'ordres de grandeur quelconques. Il s'agit d'une transformation linéaire générant les plans 8 bits (256 niveaux) de visualisation. Pour l'utiliser :
Définir la zone de travail et les plans de données concernés: obligatoirement les plans rouge vert ou bleu ou les 3 ensemble.
Activer ``Apply''; le programme va calculer de lui-même les minima et maxima des plans de données et appliquer la transformation pour dilater les mesures dans une échelle 0 à 255. Si le résultat ne convient pas, modifier les éditeurs ``Minimum'' et ``Maximum'' avec votre plage de valeurs et activer ``Apply'' pour visualiser le résultat.

Options:

``Mask filter'' Permet d'appliquer la transformation uniquement sur les pixels non masqués de l'image.
``Equalize all cells'' Dans ce mode, la notion de géométrie globale disparaît pour laisser place à la géométrie des cellules.

Si les deux éditeurs ``Minimum'' et ``Maximum'' sont vides, chaque cellule sera considérée comme indépendante avec des transformations différentes calculées automatiquement.

6.5  DISPLAY->ZOOM (linked)

Msphinx_DI_zoomlink.gif

Voir la figure 6.5, pour avoir un exemple de l'utilisation du ``zoom linked''.

Msphinx_DI_zoomlinkex.gif

6.6  DISPLAY->ZOOM & ANIMATE

Msphinx_DI_zoomanim.gif

Ce menu permet de réaliser un zoom de l'image principale: jusqu'à 10 fenêtres de zoom différentes peuvent être utilisées simultanément. Les fenêtres sont ``resizable'' et sensitives, c'est à dire qu'elles peuvent être utilisées comme entrée de données dans tous les menus de sélection de zone ou pixel values etc...
Activez ``Select area'' et choisissez une zone dans l'image principale à l'aide de la souris ou dans une autre fenêtre de zoom contenant une image.

Options:


Picture Omitted
Dans le cas où plusieurs plans de données sont remplis, vous pouvez utiliser les deux flèches pour changer de plan.
``Same lut'' Permet de travailler avec la table couleur du plan sans retoucher les pixels
``Same lut (enhance)'' Permet de travailler avec la table couleur du plan en recalculant le meilleur contraste pour les pixels visualisés à chaque sélection d'image

Options d'animations:

``Animate RGB'' Réalise un défilement sur les images contenues dans les plans RGB.
``Animate all banks'' Réalise un défilement sur les images contenues dans tous les plans.
``Create an mpeg animation''Voir plus haut §4.8.
``Create a gif animation'' Voir plus haut §4.9.

Remarques:
Dans les menus ``Animate'', le bouton gauche de la souris permet de ralentir l'animation, le bouton du milieu permet de réaliser une animation sur une petite zone autour du pointeur de la souris.
Le bouton de droite permet de sortir de la boucle d'animation. Pour ralentir ou accélérer l'animation une autre possibilité consiste à agrandir ou rapetisser la fenêtre du zoom.

Les plans graphiques et masques sont incrustés dans le zoom; utilisez l'option ``Window->Mask/Umask overlay plane'' pour les masquer.

6.7  DISPLAY->SCROLL ZOOM

Msphinx_DI_zoomscroll.gif

Permet de créer une fenêtre de navigation dans l'image.

Les boutons de la souris ont un usage diffèrent si la souris pointe dans l'image principale ou dans l'image de la fenêtre ``Sphinx_scroll_zoom''.

  • Dans la fenêtre principale:
    • Le bouton du milieu sélectionne la zone à visualiser
    • Le bouton de gauche augmente la taille de la zone
    • Le bouton de droite diminue la taille de la zone

  • Dans la fenêtre ``Sphinx_scroll_zoom'':
    • Le bouton du milieu sélectionne un pixel dont la valeur est à éditer
    • Le bouton de gauche ou droite fait défiler les différents plans de données
    • Le bouton de gauche plus le bouton du milieu anime une petite zone autour du point fixé

Si le toggle ``Freeze contrast'' est positionné, l'image zoom est visualisée toujours avec les mêmes minimum et maximum, sinon les valeurs sont recalculées et les contrastes changent à chaque sélection de zone.

La croix rouge dans la fenêtre du zoom montre le pixel dont la valeur est imprimée dans éditeur. Vous pouvez cliquer sur des pixels dans la fenêtre de Zoom pour afficher leur valeur.

Les flèches (haut, bas, droite, gauche) permettent de se déplacer finement dans l'image principale.

Pour arrêter la visualisation le ``Close'' de la fenêtre Xwindow est utilisé.

Remarque:
Les plans graphiques et masques sont incrustés dans le zoom; utilisez l'option ``Window->Mask/Umask overlay plane'' pour les masquer.

==========================================================

Chapitre 7
COLOR

==========================================================

7.1  COLOR->TRUE COLOR

Ce menu permet de basculer la visualisation en mode vraie couleur; les plans de données archivés dans les plans rouge, vert et bleu vont représenter l'intensité de rouge, vert et bleu de l'image résultante (16 millions de couleurs par pixel). Sur un écran 8 bits un algorithme (dit 3-3-2) va être appliqué, dégradant considérablement l'image; cependant les impressions et les sauvegardes se feront avec la précision 24 bits réelle.
Remarque: Ce menu est similaire à ``Display->Show true color''.

7.2  COLOR->MORE PALETTES

Permet la sélection d'une nouvelle table de couleur prédéfinie ou introduite par le menu ``File->LUT read..'' dans une base utilisateur ``Color->more palettes->User LUT base''.

7.3  COLOR->BUILD COLOR SCALE

Msphinx_COL_build2.gif
Msphinx_COL_build1.gif
Msphinx_COL_scale.gif

Une option particulière de Mgraph va permettre de construire interactivement une table couleur à partir de ses 3 composantes Red Green Blue et d'un éditeur graphique.

Activer ``Display->Show color scale'' qui va visualiser une image montrant tous les niveaux de la table de couleur.
Placer la fenêtre graphique de Mgraph au premier plan de votre écran (pas de recouvrement par une autre fenêtre).
Dans le menu ``Mgraph_RGB'' activer l'une des composantes par exemple le bouton ``Red''.
La souris est automatiquement placée dans la fenêtre de Mgraph (en abcisse les pixels (0-255), en ordonnée l'intensité de la couleur (0-255)).
Utiliser le bouton de droite comme marqueur et dessiner à main libre en appuyant en continu ou par plage la courbe du rouge.

Appuyer sur le bouton de gauche pour sortir de la boucle. La nouvelle table de couleur remplace l'ancienne et vous pouvez voir le résultat sur l'image principale et dans l'image représentant l'échelle de couleur.

Faire la même chose pour les 2 autres composantes.

Dans le menu ``Mgraph_RGB'' une option ``Draw lines'' permet de tracer non pas à main levée mais par segments de droite. Le bouton de droite appuyé une première fois définit le premier point puis en se déplaçant bouton appuyé on trace la droite, dès que l'on relâche le bouton de droite, le deuxième point est introduit etc...

Appuyer sur le bouton de gauche pour sortir de la boucle.

7.4  COLOR->FILL LEVELS WITH COLORS

Msphinx_COL_fill.gif

Ce menu ne peut s'activer en mode vraie couleur. Il ne concerne donc que la visualisation d'un plan associé à une table de couleur. Il permet de modifier la table de couleur par plage ou par valeur très précise (0-255) à partir d'une table de composantes prédéfinie ou à partir des composantes R, V, B introduites par l'utilisateur.
Un rectangle en haut à droite du menu montre la couleur de remplissage. Sur des écrans 8 bits, il faut que le pointeur de la souris soit dans le panel ``Sphinx_fill_color'' pour pouvoir voir la couleur de remplissage.

Choisissez une couleur dans la liste; vous pouvez la modifier en changeant directement la valeur des éditeurs ou en déplaçant les ascenseurs pour chaque composante couleur.

Choisissez les niveaux (auxquels il faudra affecter la couleur définie) dans les éditeurs ``From'' et ``To'', puis cliquez sur ``Do''

Options:

``Undo'' permet de revenir un pas en arrière.
``Restore lut'' efface toutes les modifications.
``Save LUT'' remplace la LUT principale par la nouvelle.
``Display pixel value'' petite fenêtre 3×3 montrant la valeur des pixels de la fenêtre principale pointés par la souris (cliquer sur une zone d'intérêt).

Remarque: pour conserver la LUT ainsi créée, n'oubliez pas d'effectuer un ``Save LUT'' avant de fermer la fenêtre ``Sphinx_fill_color''.

7.5  COLOR->COLOR STRETCH

7.5.1  FAST STRETCH

Msphinx_COL_fast.gif

Ce menu permet de dilater ou contracter l'échelle couleur sur un simple mouvement de la souris. Il ne peut s'activer que sur des écrans couleur 8 bits (sur des écrans 24 bits vraie couleur, la fonction serait trop longue à exécuter perdant ainsi tout intérêt).

Activer ``Apply''

Déplacer le curseur dans la fenêtre: la visualisation est immédiate.
Cliquer sur un bouton pour sortir de la boucle.

Options:

``Restore lut'' efface toutes les modifications.
``Save LUT'' remplace la LUT principale par la nouvelle.

7.5.2  STRETCH THE 8 BITS COLOR SCALE

Msphinx_COL_stretch.gif

Ce menu permet de dilater, contracter, inverser ou exécuter une rotation de l'échelle couleur.
Utiliser les ascenseurs en observant le résultat sur l'image principale.

Options:

``High level black'' permet de remplacer les couleurs au dehors de l'échelle haute par du noir.
``Low level black'' permet de remplacer les couleurs au dehors de l'échelle basse par du noir.
``Up side down'' réalise une permutation des couleurs hautes et basses.
``Histogram stretch''
permet d'associer la table couleur au résultat d'un histogramme d'une zone définie sur l'image principale.

Sur des écrans 8 bits, il faut placer le curseur dans le menu ``Stretch_lut'' pour apprécier le résultat.

``Equalization stretch'' permet d'associer la table couleur au résultat d'un histogramme d'une zone définie sur l'image principale, en conservant le même nombre de pixels dans chaque classe.

Sur des écrans 8 bits, il faut placer le curseur dans le menu ``Stretch_lut'' pour apprécier le résultat.

``Restore LUT'' efface toutes les modifications.
``Save LUT'' remplace la LUT principale par la nouvelle.

7.5.3  COMPUTE IMAGE BALANCE

Msphinx_COL_balan.gif

Ce menu, utilisable en mode vraie couleur, permet d'ajuster les amplitudes des 3 images constituant les trois composantes (rouge, vert, bleu) afin améliorer le contraste général de l'image restituée.
Il permet, associé à un masque, de contraster par exemple les pixels constituant la partie mer d'une image sans toucher à la partie terre.
Sélectionner une zone de test et un plan de travail (en général RGB).
Activer ``Show'': l'image résultante est montrée.
2 options sont possibles:


    {\it ``Undo''} pour revenir à l'état initial
    {\it ``Apply''} pour appliquer définitivement le calcul, après avoir, par exemple, sélectionné l'ensemble de l'image comme nouvelle géométrie de travail.

``Show graphic results'' Sur l'action ``Show'' un graphique apparaît montrant les histogrammes de la zone avant (partie gauche) et après (partie droite) (La forme générale de l'histogramme est conservée).
``Select mask filter'' Le calcul ne sera appliqué que sur les pixels non masqués de l'image.

==========================================================

Chapitre 8
PLOTS

==========================================================

Les menus ci-dessous utilisent le logiciel Mgraph :
Mgraph est un logiciel de tracé permettant une visualisation et une mise en page rapide de données scientifiques présentées sous forme de fichiers ASCII pour les courbes classiques, sou s forme de fichiers binaires pour les données de surfaces.
Les fichiers de sorties sont en PostScript. Des images en format Tiff ou Gif peuvent aussi être générées.

Caractéristiques Principales

  • Une visualisation rapide sans limitation du nombre de données.
  • Jusqu'à 10 fenêtres de tracé simultanées
  • Une gestion de la base de données graphiques de l'utilisateur.
  • Une mise en page interactive de documents.
  • Une numérisation de courbes, soit à partir d'images lues en format TIFF/GIF (par ex, une sortie de scanner), soit à partir d'images importées directement sur l'écran.
  • Des fits multiples et équations sur les courbes.
  • Un tracé de contours et projections
  • Une production automatique à partir de fichiers de commandes, eux-mêmes pouvant être créés par Mgraph .
  • Une intégration simple dans des programmes fortran ou C.
  • Présentation 3D des surfaces
  • WWW Cgi implantation

Voir le manuel de Mgraph pour plus d'explications.

8.1  PLOTS->HISTOGRAM

Msphinx_PL_hist.gif
Msphinx_PL_hist_ex.gif

Ce menu permet de tracer des histogrammes à partir des plans d'images archivées.

Choisir la géométrie d'une zone, puis exécuter ``Apply''.

Description des options:

Run through all cells permet de tracer la même zone sur toutes les cellules pré-définies qu'elles soient de tailles identiques ou non.
Ignore zeros les classes ne contenant pas de points ne sont pas tracées.
Area sommation ce mode permet de tracer un histogramme qui va évoluer en fonction du nombre de zones que l'on va sélectionner:

Sélectionner une zone, puis exécuter ``Apply''. De nouveau, sélectionner une zone, puis exécuter ``Apply'' et ainsi de suite ...

Mask filter ne sont pris en compte que les pixels non masqués.
Y units (%) les Y passent en % de la classe par rapport au nombre total de pixels.
Cumulatives histo les classes sont cumulées; la dernière classe représente donc 100% des pixels.
Freeze editor values permet à l'utilisateur d'introduire les maximum, minimum et taille des classes dans les éditeurs placés au-dessus du bouton.
New curve détermine la façon de tracer:

    * ``New curve''

    efface les courbes précédentes
    * ``Curve add Mode''

    ajoute une courbe à la fenêtre de tracé
    * ``Keep setting & new curve''

    efface les courbes précédentes mais garde la présentation réalisée par l'utilisateur dans les menus Mgraph (titres, axes etc...)
    * ``Keep setting & add mode''

    ajoute une courbe à la fenêtre de tracé tout en conservant la présentation réalisée par l'utilisateur dans les menus Mgraph (titres, axes etc...)

Clear plots efface les courbes déjà tracées.
Histogram type permet de définir le type de tracés:

    * Curve
    * Steps
    * Bars
    * Bars with gaps
Draw Color permet de définir la couleur du tracé

8.2  PLOTS->TRANSECT

Msphinx_PL_trans.gif
Msphinx_PL_trans_ex.gif

Permet de tracer une radiale à la souris dans l'image et de tracer sous forme de courbe les pixels correspondants.

Description des options:

Run through all cells permet de tracer la même radiale sur toutes les cellules pré-définies.
Transect f(d) par défaut, les valeurs des x sont les numéros des lignes ou des colonnes selon que la droite tracée est plutôt verticale ou plutôt horizontale.

Dans ce mode les abcisses sont fonction de la distance parcourue sur la droite.

Mask filter ne sont pris en compte que les pixels non masqués.
New curve détermine la façon de tracer:

    * ``New curve''

    efface les courbes précédentes
    * ``Curve add Mode''

    ajoute une courbe à la fenêtre de tracé
    * ``Keep setting & new curve''

    efface les courbes précédentes mais garde la présentation réalisée par l'utilisateur dans les menus Mgraph (titres, axes etc...)
    * ``Keep setting & add mode''

    ajoute une courbe à la fenêtre de tracé tout en conservant la présentation réalisée par l'utilisateur dans les menus Mgraph (titres, axes etc...)

Plot Color permet de définir la couleur du tracé
Clear plots efface les courbes déjà tracées.

8.3  PLOTS->CONTOURING

Msphinx_PL_cont.gif

Ce menu, un peu complexe, est utilisé soit pour tracer des valeurs de pixels représentant des frontières, directement dans le plan masque du système sous forme de pixels de couleurs soit au travers du logiciel Mgraph pour visualiser une image et s'il y a lieu des contours sous forme de courbes.

8.3.1  Tracé dans le plan masque

Définir la géométrie de travail:
dans la liste, en haut à gauche, on doit définir les valeurs réelles des contours, par ex taper: Red 128 puis exécuter ``Apply (Draw contours on graphic plane)''.

Le résultat apparaît dans la fenêtre principale.

Description des options:

Clear color list efface toutes les valeurs présentes dans la liste.
Init color list (contours) le logiciel calcule de lui-même des valeurs en fonction du maximum et minimum de la zone.
Clear unsaved contour efface les traces de la zone masque des ``overlay''.
Erase unsaved contour une petite gomme est utilisée pour effacer les traces dans la zone masque des ``overlay''. le bouton de droite efface, le bouton de gauche permet de sortir de la boucle.
Save on graphics plane Les tracés passent de la zone du plan masque à la zone du plan graphique; ils ne peuvent être effacés que par la commande ``Window->Clear graph plane'' ou ``Edit->Move exchange...->Clear...''

8.3.2  Utilisation de Mgraph.

Comme précédemment, définir la géométrie de travail.
  • on veut simplement visualiser une image en ajoutant un titre, des axes etc...

    Dans le bloc ``Background image'', exécuter ``Send to Mgraph'': une fenêtre Mgraph apparaît avec l'image. Utiliser les menus de Mgraph pour réaliser la présentation.

Description des options:

Undef value les valeurs des pixels représentant un manque de données.
New curve détermine la façon de tracer:

    * ``New curve''

    efface les courbes précédentes
    * ``Curve add Mode''

    ajoute une courbe à la fenêtre de tracé
    * ``Keep setting & add mode''

    ajoute une courbe à la fenêtre de tracé tout en conservant la présentation réalisée par l'utilisateur dans les menus Mgraph (titres, axes etc...)

Nearest pixel interpolation dans le logiciel Mgraph, l'image est définie par des triangles. La méthode d'interpolation peut être linéaire si la correspondance entre la valeur des pixels et la table de couleur est linéaire. Sinon le mode ``plus proche pixel'' doit être utilisé pour ne pas générer du bruit dans l'image.
  • on veut tracer des contours avec Mgraph

    dans la liste des contours, introduire une valeur; dans le bloc ``contour drawing'', exécuter: ``Send to Mgraph''. Une fenêtre Mgraph apparaît avec le tracé.

    À ce niveau vous pouvez sélectionner, dans la géométrie, un autre plan de données. Dans la liste des contours, introduire une nouvelle valeur avec une autre couleur dans le bloc ``Contour drawing''; puis activer le Menu ``Curve add Mode'' et exécuter: ``Send to Mgraph''

Description des options:

Undef value les valeurs des pixels représentant un manque de données.
New curve détermine la façon de tracer:

    * ``New curve''

    efface les courbes précédentes
    * ``Curve add Mode''

    ajoute une courbe à la fenêtre de tracé
    * ``Keep setting & add mode''

    ajoute une courbe à la fenêtre de tracé tout en conservant la présentation réalisée par l'utilisateur dans les menus Mgraph (titres, axes etc...)

Add labels Permet d'ajouter des labels aux contours avec un format pouvant être défini par l'utilisateur en notation C (%.0f, par ex)

On peut avec les deux menus ``Contour drawing'' et ``Background image'', OBLIGATOIREMENT dans cet ordre:

  1. Calculer des contours à partir de différents plans.
  2. Ajouter une image de fond (vraie couleur, ou plan avec table de couleur) pour illustrer les contours tracés (les valeurs des pixels de cette dernière pouvant être complètement différents des plans de données ayant généré les contours).

8.4  PLOTS->BIDIMENSIONAL PLOT

Msphinx_PL_bidim.gif

Ce menu permet de tracer, sous forme de nuage de points, un plan de données en fonction d'un autre plan de données. Les mesures étant situées dans le même espace (X et Y identiques) ou dans des cellules différentes.

Mise en øeuvre:

  • Sélectionner la géométrie de travail dans le menu ``X axis'' en haut à gauche. Si les géométries X et Y sont identiques, cela suffit; sinon, sélectionner la géométrie de travail dans le menu ``Y axis'' en haut à droite.
  • Sélectionner le plan de visualisation que vous voulez représenter en X
  • Sélectionner le plan de visualisation que vous voulez représenter en Y
  • Activer ``Apply'':
    le nuage de point apparaît dans la fenêtre de tracé. Si des points ``hors normes'' existent (c'est le cas dans la plupart des images) le nuage de points apparaîtra écrasé. Utiliser alors l'option ``Mgraph->Drawing_area->Clear Area'' pour effacer les données hors échelle puis, le cas échéant, ``Mgraph->Drawing_area->Rescale''.

Description des options:

X area mask filter n'utilise que les points non masqués de la zone représentée en X
Y area mask filter n'utilise que les points non masqués de la zone représentée en Y
Draw Color permet de définir la couleur du tracé

New curve détermine la façon de tracer:

    * ``New curve''

    efface les courbes précédentes
    * ``Curve add Mode''

    ajoute une courbe à la fenêtre de tracé
    * ``Keep setting & new curve''

    efface les courbes précédentes mais garde la présentation réalisée par l'utilisateur dans les menus Mgraph (titres, axes etc...)
    * ``Keep setting & add mode''

    ajoute une courbe à la fenêtre de tracé tout en conservant la présentation réalisée par l'utilisateur dans les menus Mgraph (titres, axes etc...)

menu Bidimentionnal


Msphinx_PL_bidim1.gif


Les pixels allumés dans la zone donnée vus dans la fenêtre graphique


Msphinx_PL_bidim2.gif


Le tracé des pixels sélectionnés


Msphinx_PL_bidim3.gif

``Highlight values''
Ce menu permet d'associer des zones de l'histogramme à des pixels de l'image. Vous pouvez agrandir le panel pour améliorer sa lisibilité.
Activer cette option.
Activer ``Apply''.

Une nouvelle fenêtre ``Sphinx_bidim_hightlight'' apparaît contenant la zone ayant servie au calcul du nuage de points (zone correspondant à l'image visualisée dans la fenêtre principale).

Dégagez sur l'écran la nouvelle fenêtre et la fenêtre Mgraph montrant le nuage de points.

Activer l'option ``Get from plot''.
Le curseur passe dans la fenêtre de Mgraph où vous devez entourer les pixels à visualiser.
Les éditeurs ``From'' ``To'' de ``X Y axes'' contiennent les plages en X et Y sélectionnées dans le graphique et les pixels correspondants sont visualisés sur l'image de la zone.
Vous pouvez aussi modifier directement les éditeurs et faire ``Apply''

Option:
Ce menu permet aussi de créer des masques correspondant aux zones de l'histogramme mais sur la fenêtre principale de visualisation.
Activez : ``Set main window area''
Sélectionner la géométrie de la zone de calcul.
Choisissez une couleur de masque par exemple ``Green''
Activer ``Apply to main window''
En vert dans la fenêtre principale apparaissent tous les pixels ayant les mêmes caractéristiques que dans la zone sélectionnée.

Pour revenir à l'option ``Get from plot'', désactiver: ``Set main window area''

8.5  PLOTS->CALL GRAPHIC MENU

Lance le logiciel Mgraph qui a son propre manuel.

==========================================================

Chapitre 9
PROCESS

==========================================================

9.1  PROCESS->IMAGE ALGEBRA

Msphinx_PROC_algeb.gif

Ce menu permet d'appliquer une ou plusieurs formules aux images. Une fenêtre montre l'ensemble des formules déjà utilisées. Les formules sont contenues dans l'éditeur ``f=''. Les calculs sont réalisés en flottant puis ramenés à la précision des plans d'archivages. exemple ces 3 lignes:

                											                         r=r/100
                											                         g=g/100
                											                         b=b/100
                											
permettent de diviser l'ensemble des pixels des plans Red, Green, Blue par 100.
La notation de la formule utilise les conventions du FORTRAN.

Notations pour les opérandes au niveau d'un plan complet:
R pour Red plane
G pour Green plane
B pour Blue plane
P[no] pour un plan quelconque no étant le numéro du plan (de 1 à 511).

Notations particulières:
R[x,y] ou P[3,x,y]
où x sera un décalage en colonne, y sera un décalage en ligne, à partir desquelles les données seront traitées ou écrites.

exemple:
R[40,40]=B[100,50]+G[100,50]
le plan rouge rempli à partir de la colonne et de la ligne 40 sera égal à la somme des plans bleu et vert décalés chacun de 50 lignes et 100 colonnes.

Notations pour les opérandes d'une cellule:
C[no du plan, no de la cellule]
Le calcul du numéro de la cellule est facilité par le dessin en haut à droite du menu. Il suffit de cliquer sur une cellule pour voir son numéro s'afficher dans le label situé au-dessus.

Les opérandes particuliers:
X no de la colonne dans le calcul
Y no de la ligne dans le calcul
W largeur de l'image
H hauteur de l'image

Opérateurs utilisés dans les équations :
+, -, *, / , % (division entière),
** (élévation à la puissance)
& (AND) , | (OR) , ^ (XOR), ~ (complement)

Fonctions utilisées dans les équations :
Exp, log10, log, sqrt, rnd()
sign (le signe du paramètre ex: sign(x) résultat -1 ou 1),
abs, int,
sin, cos, tan (en radian),sind, cosd, tand (en degrés)
asin, acos, atan, asind, acosd, atand,
sinh, cosh, tanh,
asinh, acosh, atanh,
cosec, sec, cotan, cosecd, secd, cotand

Options
Mask filter Seuls les pixels non masqués seront calculés et donc modifiés dans l'image résultante.
Convert Mask values Option permettant de sauvegarder des valeurs particulières de l'image correspondant à des zones de masques avant et après le calcul.

En sélectionnant l'option un éditeur apparaît.

Taper la valeur du masque avant le calcul suivie de la valeur du masque dans l'image résultat. exemple:

mask_value result_value
0 255
1 254

La valeur 0 de l'image opérande devient 255 dans l'image résultat.

Enhance display image L'image résultante est visualisée en utilisant les algorithmes automatiques d'adaptation d'échelle des images à la table des couleurs.

9.2  PROCESS->AREA STANDARD DEVIATION

Msphinx_PROC_area.gif
Msphinx_PROC_area2.gif

Ce menu permet de calculer des statistiques simples sur une zone de l'image. Le résultat est présenté, dans une seconde fenêtre, sous la forme:

                												** Statistics  on the image pixel values **
                												Points 80066 :  plane    3
                												Minimum      :       6.000000
                												Maximum      :     222.000000
                												Sum          : 4440516.000000
                												Mean         :      55.460695
                												RMS          :      66.814003
                												Average  Dev.:      30.807705
                												Variance     :    1388.239615
                												Standard Dev.:      37.259088
                												Skewness     :       0.354782
                												Kurtosis     :      -0.761872
                											
Description des options:
Ignore zeros Les pixels nuls ne sont pas comptabilisés.
Add mode Les zones sélectionnées s'accumulent dans les résultats.
Mask filter Ne sont pris en compte que les pixels non masqués.

9.3  PROCESS->CONVOLUTION PRODUCT

Msphinx_PROC_conv.gif

Permet de réaliser des lissages ou des filtres sur une image en utilisant une matrice ou un vecteur en ligne ou en colonne.

Choix du type:
type Editeurs à fixer
Convolution Columns and Lines no
Filter on lines Vector length
Filter on columns Vector length

Filtres matriciels implémentés:
Owner L'utilisateur rentre les coefficients dans l'éditeur.

Attention! il faut ajuster le nombre de lignes et de colonnes dans les éditeurs avec les coefficients à rentrer

Smooth Dans cette option l'utilisateur peut changer la taille de sa matrice. Taper des valeurs dans les éditeurs ``Columns no'' et``Lines no''; re-sélectionner, dans le menu, l'option ``Smooth''. La matrice de coefficients apparaît dans l'éditeur.
Les filtres suivants sont des matrices prédéfinies 3×3.
Sobel operator Détection de front.
Vertical E.

Horizontal E.

East diagonal E.

West diagonal E.

Détection de front.
Vertical L.

Horizontal L.

East diagonal L.

West diagonal L.

Détection de lignage.


Options:

threshold value Valeur au-dessus de laquelle un pixel n'est plus calculé.
Mask filter Seuls les pixels non masqués seront calculés donc remplacés dans l'image résultante.

==========================================================

Chapitre 10
MODELS

==========================================================

10.1  MODELS->SATELLITE SIGNAL SIMULATION 6S

Msphinx_MOD_6S.gif

Ce menu lance le logiciel Msixs, simulation du signal satellitaire dans le spectre visible.

10.2  MODELS->SOLAR ZENITH ANGLE CALCULATION

Msphinx_MOD_sol.gif

Ce menu calcule, pour un lieu et pour une date donnés, différents paramètres solaires.
Exemple pour:

                											      Julian day: 286
                											      Latitude: 50.0 Longitude: 0.0
                											      Hour: 12.0 (UTC)
                											
le logiciel affichera:
                											      Solar zenith angle  =      57.927 deg
                											      Solar azimuth angle =     184.146 deg
                											      Correction =  1.00464
                											      (of the mean annual Earth-Sun square distance
                											      and the mean annual solar irradiance)

                											      Values of the annual mean solar irradiance (in w/m2/micron)
                											      between 0.25 and 4.0 microns, by step of 0.0025 microns.
                											      The value of the total irradiance is 1372 w/m2 on the whole
                											      spectrum (1358 w/m2 between 0.25 and 4.0 microns).
                											      Reference: Neckel, H., and D. Labs, 1984. Solar Physics, 90, 205- 258.
                											      0.2500   69.30
                											      0.2525   77.65
                											      0.2550   86.00
                											      0.2575  100.06
                												......
                											

10.3  MODELS->WARPER

Msphinx_MOD_warp1.gif
Msphinx_MOD_warp2.gif

Ce menu permet de superposer deux images de géométries différentes par une méthode de polynômes de Legendre, les polynômes de déformation étant calculés à partir d'amers introduits interactivement par l'utilisateur.
L'opération se fait en deux étapes:

  • détermination des amers
  • application de la déformation à une ou plusieurs images.

Le panel ``Sphinx_warper_view'' est divisé en 2 parties:

  1. la partie gauche concerne l'image de référence donc la géométrie d'arrivée.
  2. la partie droite concerne l'image à déformer.

Vous pouvez agrandir le panel pour améliorer sa lisibilité. Les 2 images du haut représentent les zones sélectionnées, les images du bas servent à montrer des zooms pendant la séquence de choix des amers puis à montrer des résultats intermédiaires sur les déformations.

Mise en uvre:
Dans le premier menu ``Sphinx_warper'', vous sélectionnez l'image de référence et l'image déformée puis vous lancez le ``Warper'' proprement dit:

10.3.1  Lecture de l'image de référence

Sélectionner le menu ``Load reference image'', puis une géométrie de travail ``X,Y, Width,Height'' et un plan de travail. Activer ``Apply''.
L'image apparaît en haut à gauche du panel ``Sphinx_warper_view''.
Si l'image est trop sombre, vous pouvez activer le bouton ``enhance'', en haut à gauche du panel. Les éditeurs vous montrent les valeurs minimum et maximum utilisées pour la conversion des données vers la table de couleur. Modifier les minimum et maximum, puis activer ``enhance'': l'image visualisée change de contraste.

10.3.2  Lecture de l'image à déformer

Sélectionner le menu ``Load image to warp'' puis une géométrie de travail ``X, Y, Width, Height'' et un plan de travail. Activer ``Apply''.
L'image apparaît en haut à droite du panel ``Sphinx_warper_view''.
Si l'image est trop sombre, vous pouvez activer le bouton ``enhance'' comme décrit ci-dessus.

10.3.3  Selection des points d'ancrage

Activer le bouton ``select matching points'' dans le panel ``Sphinx_warper''.

À ce niveau, vous êtes dans une boucle d'entrée des amers, c'est à dire de points que vous estimez être identiques dans les deux images.

Vous pouvez cliquer directement dans l'image de référence ou utiliser les 2 options ``Zoom'' pour agrandir une partie de l'image. le zoom est visualisé dans la partie basse du panel ``Sphinx_warper_view''.
Vous pouvez maintenant sélectionner vos points:

Sélectionner un point dans l'image de référence (ou dans son zoom), à l'aide de la souris, puis sélectionner le point correspondant dans l'image à déformer.
Votre premier amer est introduit. S'il est faux, activez le bouton ``Delete last entry'' du panel ``Sphinx_warper''. Recommencer l'opération autant de fois que nécessaire: vous devez, pour un résultat optimum, introduire des points bien répartis sur toute la surface: au minimum 4 points sont nécessaires (l'algorithme utilisé interpole bien mais extrapole très mal). À partir du 4ème point, la sélection d'un point dans l'image de référence provoque le dessin d'une croix verte, sur l'image à déformer, à l'endroit de la prévision; vous pouvez ainsi apprécier la précision de la projection et la nécessité ou non d'introduire d'autres amers.

10.3.4  Visualisation du résultat

Après quatre amers, vous pouvez, à tout moment, activer le bouton ``Show result'' du panel ``Sphinx_warper''.
L'image déformée apparaît dans le cadre ``Warper result'' en bas à gauche du panel de visualisation. Une image représentant la différence de l'image de référence avec l'image déformée est visualisée dans la partie ``Overlap index''. Les zones d'ombres vous permettent d'apprécier la précision de la déformation.

Si vous activez de nouveau le bouton ``Select matching points'', vous pouvez ajouter des amers à la liste.

En fin de travail, choisissez une géométrie d'application du résultat dans le menu ``Sphinx_warper'' en haut à droite. Activez ``Apply''.
Changez de plan s'il y a lieu, activez ``Apply'' etc...

10.4  MODELS->PROJECTIONS

Sphinx_projections.gif

Ce menu permet de projeter une image de satellite dont la géométrie est connue. Il permet aussi d'ajouter une grille et un fond de carte précis (environ 1km) dans la bonne projection. Il peut être directement associé au logiciel Mgraph pour une présentation rapide des données.

Mise en uvre:

10.4.1  Définir la géométrie et le plan de l'image d'origine:

Menu ``FROM PARAMETERS''.
Définir la projection d'origine dans la liste proposée: Linear, POLDER, Goode'S Homolosine, Mollweide Equal-Area, Hammer, Azimuthal Equidistant, Lambert Azimuthal equal area, Miller Cylindrical, Mollweide, Orthographic, Robinson, Sinusoidal, Van Der Grinten, Wagner 7.

Définir, en latitude et longitude, le domaine que couvre l'image. Si rien n'est défini, l'image est supposée globale (-90->90, -180->180 degrés).

Activer ``Show (From area in the TO projection image)''.
Cette fonction permet de réaliser une simulation de la projection à partir d'une carte du monde synthétique. La projection et la géométrie sont celles définies dans ``TO PARAMETERS''; elle va correspondre au résultat final. En vert et bleu apparaît le recouvrement de ``FROM'' vers ``TO''; en noir et blanc la zone non recouverte de ``TO''.

10.4.2  Définir la géométrie et le plan de l'image d'arrivée:

Menu ``TO PARAMETERS''.
Définir la projection d'arrivée dans la liste proposée.

Définir, en latitude et longitude, le domaine que couvre l'image. Si rien n'est défini, l'image est supposée globale (-90->90, -180->180 degrés).

Si vous travaillez en ``patch work'', choisissez l'option ***** Overlap pixel mode ***** à la place de ***** Replace pixel mode *****.

Activer ``Show (From area in the TO projection image)'' pour visualiser le résultat. Activer ``Apply'': la reprojection est réalisée.

10.4.3  Grilles et contours de côtes

Si vous activez l'option ``To area addings'', de nouveaux menus apparaissent; ils vont vous permettre de dessiner dans le plan graphique une grille ou des contours de côtes.
La projection et la géométrie d'image correspondent à celles définies dans ``TO PARAMETERS''

  • Ajout d'une grille
    Remplir les éditeurs définissant la grille.
    Choisir une couleur.
    Activer ``Draw Grid''.

  • Ajout d'une carte
    Choisir une couleur.
    Activer ``Draw map''.

10.4.4  Send results to Mgraph

Ce menu permet d'envoyer les différents résultats au logiciel Mgraph  afin de réaliser une présentation rapide.

Activer le toggle ``Send results to Mgraph''.
Après avoir défini tous les paramètres de projections (voir ci-dessus), activer ``Apply'': la reprojection est réalisée.
Une fenêtre Mgraph apparaît.
Activer ``Draw Grid''.
La grille est dessinée dans la fenêtre graphique.
Activer ``Draw map''.
La carte est dessinée dans la fenêtre graphique.

10.5  MODELS->AERONET Fast-link

Ce logiciel permet à l'utilisateur de télécharger des données à partir de la base Aeronet.

Msky_main.gif

Deux bases identiques sont implémentées:

  • au LOA USTL France
  • au GSFC USA.

Utilisez le menu en haut à gauche pour sélectionner la base voulue (vous pouvez basculer sur l'autre à tout moment).

10.5.1  Menu extraction

  • ``Photometer selection''
    L'extraction est faite pour un photomètre spécifique à la date (en remplissant l'éditeur ``Date: dd/mm/yyyy'') et à l'heure données par l'utilisateur (si le champ ``time'' est vide, l'extraction sera faite pour la journée complète).

  • ``Area selection''
    L'extraction est faite pour une zone et une date (en remplissant l'éditeur ``Date: dd/mm/yyyy'') et une heure données. L'utilisateur peut remplir les éditeurs de latitude et de longitude ou il peut utiliser l'option ``show map'' et sélectionner directement une zone à l'aide de la souris. (Si vous ne voyez pas les sites des photomètres sur la carte, cliquez sur le bouton ``Show Photometers list'').

10.5.2  Types des données

Sélectionner les données que vous voulez visualiser:

  • Optical thickness
  • Size distribution
  • Refraction index
  • Polarization
  • All data

remarque: L'option ``plot'' fonctionne uniquement avec les sélections ``All data'' ou ``Optical thickness'' .

10.5.3  Les options

  • ``Show map''
    Cette option trace une carte du monde avec les photomètres opérationnels pour le jour choisi. (jaune pour non polarisé, magenta avec polarisation)

  • ``Save on disk''
    Cette option sauve sur disque tous les résultats transférés dans un fichier appelé ``MskyResult''. Si le fichier existe, il sera rallongé.

  • ``Mgraph plots''
    Cette option permet d'effectuer des tracés dans 4 fenêtres:

      * Angström coefficients
      * Optical thickness
      * Dubovik size distribution
      * Polarization ratio

    Msky_plot1.gif

  • ``Mgraph prints''

    Cette option crée un fichier de commandes pour le logiciel graphique Mgraph . Si Mgraph est installé sur votre système, le travail est automatiquement lancé et un second fichier est créé (un fichier PostScript) avec les résultats du tracé. Il suffit ensuite d'envoyer le fichier sur votre imprimante ou de le visualiser avec ``Ghostview'' par exemple.

  • ``Show Photometers list''

    Cette option permet de voir les photomètres opérationnels à une date donnée. (vous pouvez agrandir le panel ``Photometers_list'') Sont imprimés:
    Le numéro et le nom du photomètre, sa localisation et le nombre de mesures disponibles. Si vous cliquez sur une ligne, les caractéristiques du photomètre sont remplacées par le panel ``Msky_look''.

  • ``Clear text''

    Efface la zone d'affichage.

  • ``About Msky''

    Imprime l'avertissement et le manuel.

  • ``Check DB''

    Cette option est très importante; après la première extraction, le logiciel utilise un cache mémoire pour éviter les multiples connexions à la base de données.
    Si vous changez de base, vous retrouverez les données présentes dans le cache. Le bouton ``Check DB'' force le chargement à partir de la base et remet à jour la mémoire cache.

==========================================================

Chapitre 11
NETWORK

==========================================================

11.1  NETWORK->USERS DIALOG

Cette partie concerne la communication entre utilisateurs; c'est une première approche montrant les possibilités d'évolution des logiciels; (cette partie sera améliorée si elle est effectivement utilisée.)
Elle permet :
  • L'échange de messages et d'images entre utilisateurs.
  • La lecture et la visualisation d'une base d'images locales
  • des jeux de détente entre utilisateurs.

11.1.1  Architecture générale :

Les échanges sont gérés par deux programmes :
  • Un serveur de listes
    Sur l'un des ordinateurs du LOA, est implanté un serveur de liste. Sur interrogation, ce serveur délivre la liste des sites où sont implantés les serveurs de noms.
  • Un serveur de nom local.
    Localement, un serveur délivre, sur interrogation, les noms des utilisateurs travaillant avec Msphinx .

11.1.2  Mise en route locale.

lancement du serveur local:
Ce programme gère un groupe de machines du même réseau pouvant activer Msphinx
                											(PATH)/Mfiles/Msdiaser -P 8999 -T "GROUP NAME" -B
                											(PATH)/Mfiles/bin > /dev/null 1>&2 &
                											

options:

-P C'est le port UNIX utilisé pour les dialogues TCP/IP
-T entre `` '' c'est le sigle du laboratoire
-B c'est le chemin où est rangé le répertoire Mfiles/bin

Un fichier (PATH)/Mfiles/compta/network doit être initialisé pour prévenir Msphinx de la présence d'un serveur de nom.
ex: vi Mfiles/compta/network

                											      # Msphinx local Image data base and local dialogs (Only one)
                											      LOCALdatabase: loaser.univ-lille1.fr   8999
                											

Options:

loaser.univ-lille1.fr Nom de la machine où tourne le serveur de noms
8999 Port de communication du serveur de nom local

11.1.3  Dialogues entre utilisateurs

Au lancement du module ``Network->Users dialogs... '' un panel apparaît.

Dans la liste située en haut à gauche ``LOCAL users list'', est imprimée la série de personnes utilisant le logiciel. Vous avez la possibilité d'un sélectionner une ou plusieurs. Les sélections s'affichent dans la liste de droite.
Vous pouvez gérer plusieurs listes:
Activer ``Create a new list''
Puis sélectionner un autre utilisateur.
Les flèches <- -> permettent de passer d'une liste à l'autre.

L'option ``Refresh selectable list from serveur'' permet d'interroger le serveur et de rafraîchir la liste ``LOCAL users list''.

options:
``Send a message ''
Un panel de tchatche apparaît; dans la partie haute le dialogue va s'afficher. La partie basse permet de taper du texte. 2 options
``Clear text'' Pour effacer la frappe en cours.
``Save on file'' pour écrire sur disque le dialogue dans un fichier de nom imposé Dialogs01, Dialogs02 etc...

Le panel peut être agrandi pour améliorer sa lisibilité.

Taper vos lignes dans le panel du bas; pour expédier votre courrier, il suffit de taper deux [CR, Enter] retour à la ligne en suivant.
Le début de votre message est imprimé dans la partie haute sous la forme


// texte
// votre texte
// etc...


La réponse apparaît toujours dans le panel du haut sous la forme <Nom du correspondant> puis son texte cadré à gauche

Remarques:
Si votre ``Mailing list'' contient plusieurs noms, votre texte sera envoyé à tout le monde.

Vous pouvez créer une nouvelle liste et donc changer rapidement de correspondant en utilisant les flèches pour réaliser un apparté dans vos messages.

Options:

``Network status and Image position menu''

Il permet de visualiser le déroulement des communications. Le panel de droite permet de définir une géométrie d'image qui sera utilisée pour ranger un message de type image ou pour expédier les données contenues dans les plans de visualisation de Msphinx en activant le bouton ``Send the selected image''

``Send a grabed image'' permet d'envoyer à votre correspondant tout ou partie de votre écran.
Activer ``Send a grabed image''; le bouton devient rouge; si vous cliquez dans un panel, le panel complet sera expédié.
Par ex cliquez dans la couleur du fond de votre écran. (l'image de votre écran est expédiée) Si vous maintenez appuyé votre bouton et définissez une zone, c'est cette zone qui sera expédiée.

Votre correspondant va recevoir un panel ``Mdial_incoming_(votre nom)'' avec l'image; il peut l'agrandir pour la voir et la charger dans un plan de travail de Msphinx(Voir plus haut ``Network status and Image position menu'')

11.2  NETWORK->SERVER MAIN LIST

Permet d'interroger et de visualiser les différents sites actifs. Si vous sélectionnez un site, vous pourrez voir les utilisateurs de Msphinx de ce site.

==========================================================

Chapitre 12
PRINT & SETTINGS

==========================================================

12.1  PRINT & SETTINGS->QUICK PRINT

Msphinx_PRT_print.gif

Ce menu permet de créer un fichier PostScript à partir d'une image vraie couleur (24 bits ) ou associée à une table couleur (8 bits) archivée dans les plans de visualisation (R, G, B) de Msphinx.

Options:

Paper format taille de la page: A4 - A3 - B5 - US Letter - US Legal - Custom.
PS resolution résolution du PostScript en points par ligne; en général 100dpi suffisent. Pour les posters, il faut augmenter la résolution.
Color print possibilité d'imprimer en couleur ou en noir et blanc.
Number of copies le nombre de copies
Use page setting impression d'une page mise en forme grâce au menu ``Page Setting'' détaillé plus loin (§12.2).
Landscape page l'orientation du papier: Portrait ou Paysage.
Add image annotations ajout des annotations d'image créées dans le menu ``Image annotation'' détaillé plus loin (§12.4).
Spooler shell taper ici votre commande d'impression; par exemple: lp -c -dPRINTER_NAME
Send to printer choix du type d'impression:

  • ``Send to printer'' envoie la sélection à la commande tapée dans l'éditeur ``Spooler shell''
  • ``Save as PostScript file'' crée un fichier PostScript.
  • ``Save as Encapsulated PostScript file'' crée un fichier PostScript encapsulé permettant d'insérer l'image dans un autre document (Word, TeX etc...)

ATTENTION:

  • Si vous utilisez comme commande d'impression : lp -dPRINTER_NAME dans éditeur ``Spooler shell'' et que rien n'est imprimé, essayez la commande lp -c -dPRINTER_NAME

  • Si vous choisissez le format ``Custom'' pour le papier, vous pouvez remplir les deux éditeurs (Width , Height) et cliquer sur ``Refresh show page panel''. Cette option, ainsi que la taille, est sauvée dans le contexte de travail.

  • Les impressions PS peuvent ne pas s'exécuter en mode image 8 bits associée à une table couleur. L'algorithme de compression PostScript donne une page blanche sur certaines imprimantes comme par exemple sur Phaser340.
    Activer l'option ``Print&Settings->Page setting->RGB PS Encoding'' et réessayez l'impression. Cette option est sauvegardée dans votre contexte de travail.

  • Si vous ouvrez le menu ``Add EPS icons'', vous pourrez ajouter votre icône favorite (en Encapsulé PostScript) sur la page

12.1.1  Les fichiers d'environnement

Voici un aperçu du contenu du fichier $home/.Msphinx/VotreNomdeProjet.prj/Print_Options:

                											          INCH               0
                											          post_costr      /usr/LOA/bin/vidpsLEX
                											          post_grstr      /usr/LOA/bin/vidpsMAN
                											          PAPER_SIZE         0  100 -1 -1
                											

La signature en bas de page est par défaut: L.O.A. Computer Team. Pour la modifier, éditez le fichier $home/.Msphinx/SIGNATURE, et remplacez par votre signature personnelle.

taper ceci: pour obtenir:
SIGNATURE"L.O.A. Computer Team"Date + signature
SIGNATURE"  " (Espaces) Date
SIGNATURE"" (Vide) Rien

12.2  PRINT & SETTINGS->PAGE SETTING AND PRINT

Msphinx_PRT_pageset.gif
Msphinx_PRT_show.gif

Ce menu permet de réaliser des mises en page à partir d'images archivées dans les plans de visualisation:

  • Création de cellules contenant des images sur la page
  • Annotations de page.
  • Ajout d'icônes EPS

Il se compose de 2 fenêtres ``Sphinx_page_setting'' et ``Sphinx_show_page''. Vous pouvez agrandir cette dernière fenêtre pour améliorer sa lisibilité.

Les mises en page réalisées et les images imprimées sont sauvegardées sur disque sur demande de l'utilisateur (option ``Save Page setting images on disk'') et peuvent être réimprimées par la suite.
Attention: la résolution d'une image (``dot per inch'') est fixée lors du remplissage de la cellule par l'image, elle est donc définitive; si vous devez changer cette résolution, il faudra recharger l'image dans la cellule.

Ce menu complexe est divisé en plusieurs zones:

12.2.1  Définition d'une page

Msphinx_PRT_pageset1.gif

menu en haut à gauche. Les flèches (
Picture Omitted

) permettent de visualiser les différentes pages existantes et leur contenu. La création d'une nouvelle page passe par l'option ``Duplicate page setting'' qui va créer une nouvelle page avec les mêmes cellules vides que de la page en cours.

Msphinx_PRT_pageset2.gif

Différentes options sont prévues pour l'impression de la page:

Paper format taille de la page: A4 - A3 - B5 - US Letter - US Legal - Custom.
Landscape page l'orientation du papier: Portrait ou Paysage.
PS resolution résolution du PostScript en points par ligne; en général 100dpi suffisent.
Color print possibilité d'imprimer en couleur ou en noir et blanc.
Number of copies le nombre de copies
RGB PS Encoding dans le cas d'images 8 bits le codage est forcé en 24 bits comme le mode vraie couleur.
Send to printer choix du type d'impression:

  • ``Send to printer'' envoie la sélection à la commande tapée dans l'éditeur ``Spooler shell''
  • ``Save as PostScript file'' crée un fichier PostScript.
  • ``Save as Encapsulated PostScript file'' crée un fichier PostScript encapsulé permettant d'insérer l'image dans un autre document (Word, TeX etc...)
Add page annotation lance le menu ``Sphinx_page_annotations'' voir plus loin (§12.5).
Add EPS logo files permet d'ajouter un (ou plusieurs) icône(s) en format EPS sur la page.

Voir le §12.6 pour plus d'explications.


    * Si vous choisissez le format ``Custom'' pour le paper, vous pouvez remplir les deux éditeurs (Width, Height) et cliquer sur ``Refresh show page panel''. Cette option, ainsi que la taille, est sauvée dans le contexte de travail.


    * Si vous n'avez pas d'annotation, le menu ``Sphinx_page_annotations'' sera ouvert, sinon la position de l'annotation sera visualisée sur le panel ``Sphinx_show_page''.


    * Si vous n'avez pas d'icône EPS, le menu ``Sphinx_page_add_EPS_files'' sera ouvert, sinon la position de l'icône sera visualisée sur le panel ``Sphinx_show_page''.

12.2.2  Définition d'un patch ou cellule

Msphinx_PRT_pageset3.gif

Comme pour les pages, vous pouvez, à l'aide des flèches (
Picture Omitted

), pointer les zones d'images définies dans la page.

Création d'une cellule
Il existe 2 méthodes pour créer une cellule:

  • Remplir les éditeurs ``X start, Y start, Width Height''. Il suffit ensuite d'activer ``Create new patch'' ou ``Replace current patch''.
  • Activer l'option ``Fill with mouse'' qui vous permet de dessiner à l'aide de la souris votre cellule dans le panel ``Sphinx_show_page''. Corriger ensuite, s'il y a lieu, les valeurs dans les éditeurs et activer ``Replace current patch''.

12.2.3  Remplissage de la cellule

Indiquer dans la partie ``Patch content'', (dans la fenêtre principale de Msphinx), la géométrie de l'image désirée. Activer ``Fill patch with image''. La cellule est alors remplie avec un aperçu de l'image qui sera imprimée. Dans le cas d'un écran 8 bits, le mélange d'images avec des tables de couleur différentes sera mal rendu par la fenêtre ``Sphinx_show_page'' mais la page sera correctement imprimée. Différentes options sont prévues, au niveau du remplissage de la cellule:
``Fit patch'' dans le cas où les géométries de l'image et du patch sont différentes,l'image sera ajustée à la taille de la cellule.
``Show image annotation'' lance le menu d'annotations d'image qui est détaillé plus loin (§12.4).
``Fill patch with image'' remplit la cellule avec l'image. Le résultat est visualisé dans le panel ``Sphinx_show_page''.

Save context

``Save Page setting images on disk'' sauve la configuration de page ainsi que les images sur disque.

Attention! Si vos images sont très grandes, spyez prudent: désactivez cette option sinon les images seront dupliquées sur disque.

12.2.4  Fichiers d'environnement

aperçu du contenu du fichier $home/.Msphinx/VotrNomdeProjet.prj/Print_Options:

                											          INCH               0
                											          post_costr      /usr/LOA/bin/vidpsLEX
                											          post_grstr      /usr/LOA/bin/vidpsMAN
                											          PAPER_SIZE         0  100 -1 -1
                											

La signature de bas de page est par défaut: L.O.A. Computer Team. Pour la modifier, il suffit d'éditer un fichier $home/.Msphinx/SIGNATURE, avec les nouvelles informations:

taper ceci: pour obtenir:
SIGNATURE"L.O.A. Computer Team"Date + signature
SIGNATURE"  " (Espaces) Date
SIGNATURE"" (Vide) Rien

12.2.5  Remarques

  • deux types d'annotations sont disponibles
    1. au niveau d'une image:
      Print&Settings->Draw Image annotations (§12.4)
    2. au niveau de la page:
      Print&Settings->Draw Page annotations (§12.5)

  • Les plans masqués et graphiques sont automatiquement inclus dans l'image.

12.3  PRINT & SETTINGS->POSTER SETTING

Msphinx_PRT_poster.gif

Ce menu permet de réaliser des posters de taille quelconque avec des images stockées dans les plans de visualisation de Msphinx . Vous pouvez aussi ajouter des annotations de page et insérer plusieurs icônes en Encapsulé PostScript.
Ce menu crée un fichier PostScript.

Deux panels sont affichés: ``Sphinx_poster_setting'' et ``Sphinx_show_page''.
Vous pouvez agrandir ce dernier panel pour avoir une meilleure résolution.

Pour plus de facilités, vous pouvez réaliser le poster en petit format (A4 par exemple) puis, quand l'impression est correcte, vous pourrez ajuster le format de papier à la taille désirée. Toutes les définitions seront traduites dans la bonne échelle.

Ce menu complex est divisé en plusieurs zones:

12.3.1  Page definition

Msphinx_PRT_poster1.gif

Paper format taille de la page: A4 - A3 - B5 - US Letter - US Legal - Custom.
Landscape page l'orientation du papier: Portrait ou Paysage.
PS resolution résolution du PostScript en points par ligne; en général 100dpi suffisent. Pour les posters, il faut augmenter la résolution.
``Add page annotation'' lance le menu ``Sphinx_page_annotations'' voir plus loin (§12.5).
``Add EPS logo files'' permet d'ajouter un (ou plusieurs) icône(s) en format EPS sur la page.

Voir le §12.6 pour plus d'explications.


    * Si vous choisissez le format ``Custom'' pour le paper, vous pouvez remplir les deux éditeurs (Width, Height) et cliquer sur ``Refresh show page panel''. Cette option, ainsi que la taille, est sauvée dans le contexte de travail.


    * Si vous n'avez pas d'annotation, le menu ``Sphinx_page_annotations'' sera ouvert, sinon la position de l'annotation sera visualisée sur le panel ``Sphinx_show_page''.


    * Si vous n'avez pas d'icône EPS, le menu ``Sphinx_page_add_EPS_files'' sera ouvert, sinon la position de l'icône sera visualisée sur le panel ``Sphinx_show_page''.

12.3.2  Définition d'un patch ou cellule

Msphinx_PRT_poster2.gif

Création de la cellule
Vous ne pouvez créer qu'une seule cellule. 2 méthodes sont possibles:

  • Remplir les éditeurs ``X start, Y start, Width Height''. Il suffit ensuite d'activer ``Create new patch'' ou ``Replace current patch''.
  • Activer l'option ``Fill with mouse'' qui vous permet de dessiner à l'aide de la souris votre cellule dans le panel ``Sphinx_show_page''. Corriger ensuite, s'il y a lieu, les valeurs dans les éditeurs et activer ``Replace current patch''.

Point important:
Pour plus de facilités, vous pouvez réaliser le poster en petit format (A4 par exemple) puis, quand l'impression est correcte, vous pourrez ajuster le format de papier à la taille désirée. Toutes les définitions seront traduites dans la bonne échelle.

Remplissage de la cellule Indiquer dans la partie ``Patch content'', (dans la fenêtre principale de Msphinx), la géométrie de l'image désirée. L'image qui sera chargée est l'image visualisée dans la fenêtre principale de Msphinx.

Option

``Fit patch'' dans le cas où les géométries de l'image et du patch sont différentes,l'image sera ajustée à la taille de la cellule.

Contrairement au menu ``Page_Setting'', le résultat ne sera pas affiché dans le panel ``Sphinx_show_page'' mais vos préférences seront néammoins conservées pour un prochain poster.

Msphinx_PRT_poster3.gif

Vous pouvez aussi sauver des descriptions différentes de poster dans une base en utilisant l'option ``Save POSTER Settings'' et vous pourrez en rappeler une en cliquant sur son nom.
Chaque description sauvée est enregistrée dans le répertoire $home/.Msphinx/VotreNomdeProjet.prj/POSTERS/

12.4  PRINT & SETTINGS->DRAW IMAGE ANNOTATION

Msphinx_PRT_image.gif

Ce menu permet de définir des annotations qui pourront être ajoutées au moment du ``Page setting '' à une image ou incrustées dans le plan graphique pour générer un fichier (gif etc...) ou une présentation papier.
Vous pouvez agrandir la fenêtre pour améliorer sa lisibilité.

Ce menu fonctionne également avec des pages de présentations appelées ``Set''. Vous vous déplacez dans les pages avec les flèches en bas à droite:

``Destroy set'' Supprime la page en cours
``Clear all'' Détruit l'ensemble des annotations d'une page
``Create new set'' génère une nouvelle page vide

Choisissez, dans ``Annotation type'', le type d'annotation à ajouter puis activez ``Add''. Vous pouvez utiliser la zone de visualisation de l'image pour choisir l'emplacement ou dessiner l'objet à l'aide de la souris.

Les flèches permettent de sélectionner les objets déjà introduits. Une coloration magenta permet de les repérer dans la fenêtre d'annotation.

Options:

``Add'' ajoute une annotation
``Clear'' supprime l'annotation en cours
``Redraw'' si vous changez un paramètre, par exemple la couleur, cette option redessine l'objet avec la modification.
``Replace'' la même option que ``redraw '' mais avec un nouveau positionnement.

En fin de mise en page vous pouvez tracer l'ensemble dans le plan d'overlay graphique en activant l'option ``Send annotations to graphic plane''.

``Show Fonts'' Les polices de caractères sont en format TTF. Elles sont stockées dans le répertoire Mfiles/Fonts. Vous pouvez ajouter toute police TTF dans ce répertoire.

Msphinx_PRT_fonts.gif

12.4.1  Echelle de couleur

Annotation ``COLOR SCALE'':
L'échelle de couleur est une annotation particulière car elle va écraser les pixels des plans de visualisation. Elle représente un objet multiple (échelle, texte) que vous pouvez ensuite déplacer globalement.

Fenêtre principale en mode ``True color'':
Dans ce mode vous pouvez définir n'importe quelle couleur pour vos objets, l'annotation ``Draw rainbow'' qui n'a pas de signification dans ce mode va tracer l'échelle contenue dans le plan Blue de Msphinx.

Fenêtre principale en mode Plan ``Red, Green, Blue'':
Dans ce mode vous ne devez définir que des couleurs contenues dans l'échelle couleur de l'image pour vos objets.

La commande ``Send annotations to graphic plane'' va dessiner dans le ou les plans de visualisations et dans le mode ``True color'' ou Plan ``Red, Green, Blue''

Si vous changez de mode après avoir incruster les objets vous devez réactiver l'option ``Send annotations to graphic plane'' pour retrouver les bonnes couleurs.

Les flèches permettent de sélectionner les objets déjà introduits. Une coloration magenta permet de les repérer dans la fenêtre d'annotation.

Options:

``Draw icon'' Sous forme d'icônes
``Draw rainbow'' Echelle linéaire verticale ou horizontale en pixels de couleur
``Draw scale'' Permet de tracer une échelle linéaire sous forme de lignes
``Fill area'' Permet de définir une zone colorée avant de tracer icones ou échelle
``Draw text'' Trace des annotations sur échelle


Exemple d'une série d'actions:
Choisir l'option ``Fill area'', choisir une couleur ``White'' puis activer ``Add''.
Dessiner un rectangle dans l'image des annotations où seront rangées les icônes.
Choisir l'option ``Draw icon''
Introduire un facteur de taille dans l'éditeur: par exemple 2.
Sélectionner un type d'icône par exemple ``Triangle Icon''.
Sélectionner une couleur :
Soit en remplissant les éditeurs des composantes rouge, vert, bleu ou plus simplement en activant l'option ``Select color from image'' et en sélectionnant une couleur dans la fenêtre principale de visualisation: appuyer sur un bouton et glisser en continu sur l'image; un rectangle vous indique la couleur; relâcher quand vous l'avez obtenue.
Activer ``Add''.
Sélectionner une position dans la zone préparée à cet effet.
Activer les toggles ``Keep x ou Keep y'' selon l'orientation de votre zone.
Reprendre à Sélectionner une couleur: etc...

Sélectionner ``Draw text''.
Taper un texte dans éditeur.
Sélectionner les couleurs du texte et la police de caratères.
Activer ``Add''.
Annoter l'icône correspondant.
etc...

Activer ``Move all scale''.
Avec le bouton de droite de la souris, sélectionner une autre position dans l'image des annotations: l'ensemble de l'objet ``COLOR SCALE'' change de position.

ATTENTION:
Après avoir activer la commande ``Send annotations to graphic plane'', s'il y a des annotations de ``COLOR SCALE'', les plans de visualisation sont écrasés et ne représentent plus exactement les plans de données correspondant. En cas d'erreur, il faut regénérer les plans de visualisation à l'aide des commandes du menu ``Display->Enhance display''.

12.5  PRINT & SETTINGS->DRAW PAGE ANNOTATION

Msphinx_PRT_page_annot.gif

Ce menu permet d'ajouter du texte et quelques figures (ligne, rectangle, flèche) sur la page.

Choisissez le type d'annotation: remplissez les éditeurs de géométrie ou activez ``Fill with mouse'' qui va vous permettre de définir la position de l'objet dans la fenêtre ``Sphinx_show_page'', puis corrigez les éditeurs de position s'il y a lieu, puis activez le bouton ``Add''. L'annotation est matérialisée dans la page.
Options:

en mode texte uniquement:
``Bold'' pour des caractères gras (seules 2 fontes sont disponibles).
``Left justification'' les annotations sont centrées ou justifiées à gauche.
pour toutes les annotations:

Picture Omitted
Les flèches permettent de montrer les différentes annotations de la page.
``Add'' Ajoute l'annotation définie
``Replace'' Remplace l'annotation en cours
``Delete'' Supprime l'annotation en cours
``Delete all annotations'' Supprime toutes les annotations

12.6  PRINT & SETTINGS->(ADD) EPS ICONS

Ce menu permet d'ajouter des icônes sur la page. Ces images doivent être en format EPS (Encapsulated PostScript language).

LOGOBASE.gif

Deux bases sont disponibles: la base de données du laboratoire et votre base personnelle.
La base de données du laboratoire est mise dans le répertoire Mfiles à l'installation du logiciel.
Pour constituer votre base personnelle, vous pouvez remplir les éditeurs ``EPS file name'' avec le chemin complet du fichier EPS, puis cliquer sur ``Add file in the data base''. Le fichier sera copié dans le répertoire $home/.Msphinx/USER_EPS_LOGOS.

Sélectionner une icône, cliquer sur son nom dans la base de données, il apparaîtra dans la deuxième liste ``Selected LOGOS''.

Pour positionner l'icône, sélectionnez la dans la deuxième liste, remplissez les 4 éditeurs, cliquez sur ``fill with mouse'' puis dessinez un rectangle sur la fenêtre ``Sphinx_show_page''. Vous pouvez également utiliser le bouton ``replace''.

12.7  PRINT & SETTINGS->XFIG TOOLS

Ce menu lance un outil de réalisation de présentations intuitif et efficace. Les images peuvent être exportées directement de Msphinx vers Xfig. Xfig possède son propre manuel.

Les images sont rangées dans divers répertoires sous $home/.Msphinx.

$home/.Msphinx/XFIG contient les présentations créées et sauvegardées.
$home/.Msphinx/XFIG/CAPTURE contient les images gif ou autres résultats d'une capture écran par le logiciel Xfig.
$home/.Msphinx/XFIG/IMAGES contient les images transférées de Msphinx à XFIG.

==========================================================

Chapitre 13
ABOUT

==========================================================

13.1  About->Authors panel...

Nous, la version de Msphinx le "copyright"

13.2  About->Memory...

L'état de l'utilisation des mémoires images

13.3  About->LUT...

La table couleur utilisée en clair à la fin les composantes RGB de chaque pixel.

13.4  About->Server...

Vos serveur de dialogues entre utilisateurs

13.5  About->Tests->Send image test to display

Charge une image (1024x1024)dans les plans de données et visualisation

13.6  About->Tests->Send image test to cells

Charge une image dans chaque cellule définie.

13.7  About->Tests->Kaleidescope

Image aléatoire. Pour sortir de la boucle il suffit de cliquer un bouton dans la fenêtre de visualisation

**********************************************************

Part 2
Utilisation d'un fichier de commandes


**********************************************************

Chapitre 14
Le fichier de commande

Dans ce mode, le travail sur les images peut être effectué automatiquement sans visualisation.

la commande est: Msphinx file.com

14.1  Options du fichier de commande

# Ce caractère permet de commenter une ligne de fichier.
| Ce caractère indique un choix d'option.
[  ] Ces caractères signalent une option facultative.
\ Ce caractère signale que la ligne suivante est la suite de cette ligne.


14.2  Glossaire

ViewPlane se réfère à la mémoire de Msphinx. Ce plan est toujours lié à une échelle de couleur (Look Up Table) un ``ViewPlane'' est une image codée sur 8 bits à partir d'un plan de données [8/16/32 bits]]

* Red(1) Green(2) Blue(3) TrueColor(0)

* -1 pour le plan courant

Plane se réfère au plan de données de 1 à 511

* -1 pour le plan courant

* 0 pour les plans R/G/B correspondant

Graph Plane se réfère à un plan supplémentaire de 4 bits (15 couleurs) pour les tracés graphiques
Mask Plane se réfère à un plan supplémentaire de 4 bits (15 couleurs) pour les masques
Cell une cellule est une sous-division du plan

ex: un plan 1024 × 1024 peut être divisé en 4 cell (512 × 512)

data_type name or value (0->6)
UCHAR 0 unsigned character (8 bits)
USHORT 1 unsigned short (16 bits)
SHORT 2 signed short (16 bits)
INT 3 integer (32 bits)
FLOAT 4 float (32 bits)
CHAR 5 signed character (8 bits)
UINT 6 unsigned integer (32 bits)
DOUBLE 7 double (64 bits)

Noms des LUT GREY RAINBOW0 RAINBOW1RAINBOW2
RAINBOW3 RAINBOW4 GEODESIC SEISMIC
TOPOGRAPHICADDITIVE CEE X11
GREY16 RAINBOW16 NONE

Noms des polices Some fonts are archived in the Mfiles/Fonts directory:
Bell.ttf Couri.ttf Greek.ttf Trebuci.ttf
Calist.ttf Curlz.ttf Harngton.ttf Verdana.ttf
Chey.ttf Georgia.ttf Horndond.ttf Verdanab.ttf
Comic.ttf Georgiab.ttf Rock.ttf Verdanabi.ttf
Cour.ttf Georgiabi.ttf Trebuc.ttf Verdanai.ttf
Courb.ttf Georgiai.ttf Trebucb.ttf Vladimir.ttf
Courbi.ttf Gothic.ttf Trebucbi.ttf

Style de ligne SOLID DASH MICRODASH
SMALLDASH LONGDASH DASHDOT
LINEDOT
Couleurs de tracé RED GREEN BLUE
BLACK WHITE MAGENTA
FOREST SIENNA YELLOW
CORAL VIOLET PLUM
CYAN TURQUOISE TRANSPARENT
CURRENT
Noms des icônes SQUARE DIAMOND CIRCLE
TRIANGLEU TRIANGLED TRIANGLEL
TRIANGLER

Noms des produits de convolution ÖWNER" "SMOOTH"
"SOBEL" "VERTICAL1"
"HORIZONTAL1" ËASTDIAGONAL1"
"WESTDIAGONAL1" "VERTICAL2"
"HORIZONTAL2" ËASTDIAGONAL2"
"WESTDIAGONAL2"

14.3  Commandes générales

  • Exécuter une commande `shell' Unix. Par exemple:
                    											send_system "cc ../DEMO_DRAW/send_draw_com.c -o ../DEMO_DRAW/send_draw_com -lm;../DEMO_DRAW/send_draw_com MYIMAGE"
                    											

send_system "..."

  • Fixer les répertoires d'entrée et de sortie pour les fichiers créés par le fichier de commandes (par défaut: ./).
    Le répertoire de sortie défini ici sera prépondérant sur le répertoire défini dans les commandes intégrées pour HDFLook ou Mgraph.

set_output_directory /tmp
set_input_directory ./

  • se réfère au mode ``verbose'' de Msp.

verbose

  • se réfère au mode ``verbose'' de Msphinx.

send_set_verbose
send_unset_verbose

  • Quand l'utilisateur utilise les fonctions de tracé de texte (``send_draw_text'', ``send_draw_icon_text'', ``send_draw_projected_text'', ``send_draw_projected_icon_text''), cette fonction teste le pixel et bouge le texte dans la direction donnée.

set_check_text_overlap SHIFT=RIGHT|LEFT|DOWN|UP
unset_check_text_overlap

  • Un fichier de commande peut être paramétré très simplement en utilisant un système d'alias (mot libre précédé du caractère @) permettant de remplacer tout ou partie de la commande par une ligne introduite dans un fichier de données.

    Ex: dans le fichier de commande nous avons :

                    											send_set_verbose
                    											set_alias LABELS2_ALIASES
                    											set_workspace_geometry @WORKSPACE
                    											send_show_view @VIEWPLANE
                    											set_projection_to_geometry XTo=0 YTo=0 WidthTo=@WIDTH HeightTo=@HEIGHT \
                    															ProjectionTo=@PROJECTION
                    											
    Dans le fichier ``LABELS2_ALIASES'', nous avons:
                    											@WORKSPACE   PlaneWidth=1000 PlaneHeight=1000  DataType=0 CellWidth=1000 CellHeight=1000
                    											@VIEWPLANE   ViewPlane=3
                    											@PROJECTION  "ORTHOGRAPHIC"
                    											@WIDTH       800
                    											@HEIGHT      800
                    											

set_alias FILENAME

14.4  La géométrie de Msphinx

  • Donner un nouveau répertoire pour la structure .Msphinx.

set_Msphinx_HOME_directory HOME="/tmp"

  • Donner un nouveau nom de projet. L'utilisateur peut stocker la mémoire de Msphinx sur disque et, uniquement en 8bits, les plans de visualisation.

set_project PROJECTNAME="TESTCOM"

DATAPLANESONDISK=Yes|No

DATAPLANESLINKED=Yes|No

OVERLAPDATAPLANES=Yes|No

  • Fixer la géométrie de visualisation.

set_workspace_geometry PLANEWIDTH=1024 PLANEHEIGHT=1024

DATATYPE=CHAR

CELLWIDTH=512 CELLHEIGHT=512

  • Fixer les plans RGB de visualisation. (0 pour la vraie couleur, 1 pour le Rouge, 2 pour le Vert, 3 pour le Bleu.

set_view_planes VIEWPLANE=3 [0->3] RED=2 GREEN=3 BLUE=4

  • Détruire toutes les structures de données et de visualisation.

send_destroy_all_data

  • Modifier ou dilater les plans de données. Les variables ``inputMin'' et ``inputMax'' sont les valeurs minimum/maximum et sont optionnelles.
    Dans cet exemple, les données vont de 10 à 30 et seront dilatées entre 0 et 255.

set_plane_data_type PLANEFROM=1 PLANETO=1 DATATYPE=CHAR

INPUTMIN=10.0 INPUTMAX=30.0

OUTPUTMIN=0 OUTPUTMAX=255

14.5  Lecture/Ecriture des fichiers

Pour les options de lecture, la variable Plane est le numéro du plan où l'image sera chargée. Les variables X et Y sont les positions de sortie.

  • Lecture gif,tif,jpeg etc..
    Les variables Width et Height définissent la géométrie de l'image d'entrée. La variable Expand permet d'agrandir ou de réduire l'image à la taille imposée.

send_read_other PLANE=1 X=0 Y=0

WIDTH=0 HEIGHT=0 EXPAND=No

FILENAME="../IMAGES/LINEAR_MAYFEB256.tif"

  • Lecture de fichiers binaires standards.
    Les variables Width et Height définissent la géométrie de la cellule. La variable DataWidth est la largeur de l'image à lire et Data type est le type de donnée.

send_read_simple PLANE=3 X=0 Y=0

WIDTH=512 HEIGHT=512

DATAWIDTH=512 DATATYPE=UCHAR EXPAND=No

FILENAME="MYIMAGE"

  • Lecture de fichiers ASCII sur une grille régulière ou irrégulière.
    Les variables Width et Height définissent la géométrie de l'image lue. Les variables ColumsNumber et LinesNumber sont les nombres de colonnes et de lignes dans le fichier. La variable LinesToSkip est le nombre de lignes à passer en en-tête de fichier.

send_read_ascii REGULARGRID

PLANE=1 X=0 Y=0

WIDTH=0 HEIGHT=0

COLUMSNUMBER=0 LINESNUMBER=0

LINESTOSKIP=0 UNDEFVALUE=0

DISTANCEFACTOR=0 NEARESTPIXELINTERPOLATION=Yes|No

FILENAME="MYASCIIFILE"

send_read_ascii IRREGULARGRID

PLANE=1 X=0 Y=0

WIDTH=0 HEIGHT=0

COLUMSNUMBER=0 LINESNUMBER=0

XCOLUMN=0 YCOLUMN=0 ZCOLUMN=0

LINESTOSKIP=0 UNDEFVALUE=0

DISTANCEFACTOR=0 NEARESTPIXELINTERPOLATION=Yes|No

FILENAME="MYASCIIFILE"

  • Lecture d'un fichier ASCII et tracé sur le plan graphique.
    Les variables Xmini, Xmaxi, Ymini, Ymaxi définissent les caractéristiques du fichier.

send_read_ascii PLOT

X=0 Y=0 WIDTH=0 HEIGHT=0

XMINI=0 XMAXI=0 YMINI=0 YMAXI=0

COLOR="Red" THICKNESS=0

FILENAME="MYASCIIFILE"

send_read_ascii ARROWFIELD

X=0 Y=0 WIDTH=0 HEIGHT=0

XMINI=0 XMAXI=0 YMINI=0 YMAXI=0

COLOR="Red" THICKNESS=0

STYLE="SOLID" ARROWFACTOR=0

FILENAME="MYASCIIFILE"

  • Création d'un fichier gif, tiff ou jpeg.

send_create_file VIEWPLANE=-1 X=0 Y=0

WIDTH=700 HEIGHT=700 WIDTHTO=128 HEIGHTTO=128

FILEFORMAT="GIF"|"TIF"|"JPG"

FILENAME="MYFILE_COM.gif"

  • Ajouter un bandeau à l'image avant la création de l'image finale. Si la variable Size est mise à zéro, le bandeau ne sera pas créé.

send_create_frame SIZE=1 RED=100 GREEN=100 BLUE=100

FRAMECOLOR="Red"

TOPTITLE="My file" BOTTOMTITLE="My file"

TITLE="My file" FONTNAME=""Bell.ttf"

TITLECOLOR="Red" SIZEFACTOR=2.0

  • Création d'un fichier binaire.
    La variable DataType est le type de donnée du fichier à créer. La variable swap permet de ``swapper'' les données codées sur 16 ou 32 bits entiers. Si les minimum et maximum sont égaux, les extrêmes seront calculés (1%-99% du nombre de pixels). La variable range permet de convertir les comptes numériques (par ex: convertir des données réelles de -1.0 à 1.0 en entiers de 0 à 1023).

send_write_simple PLANE=3 X=0 Y=0

WIDTH=512 HEIGHT=512

DATATYPE=UCHAR SWAP=Yes|No CONVERT=Yes|No

MIN=0 MAX=0 RANGE=1024.0

FILENAME="MYIMAGE"

  • Création d'une image HDF 8 bit ou 24 bit.

send_create_hdf_image VIEWPLANE=-1 X=0 Y=0

WIDTH=700 HEIGHT=700

TITLE="hdf image title"

FILENAME="MYFILE_COM.hdf"

send_create_hdf_sds PLANE=3 X=0 Y=0

WIDTH=512 HEIGHT=512

TITLE="hdf sds title"

FILENAME="MYFILE_COM.hdf"

14.6  Effacement des plans

  • Effacer les données en mémoire, dans les plans de visualisation, de masque et graphique.

send_clear_area PLANE=0 X=0 Y=0 WIDTH=1000 HEIGHT=1000

  • Effacer le plan graphique

send_clear_graph X=0 Y=0 WIDTH=512 HEIGHT=512

  • Effacer le plan de masque

send_clear_mask X=0 Y=0 WIDTH=512 HEIGHT=512

14.7  Les échelles de couleur

  • Charger une table de couleur de Msphinx
    (chaque ``set_view_planes'' sera vu avec l'échelle de couleur par défaut). Voir le §14.2 pour les noms des échelles. Si le nom de l'échelle de couleur n'est pas dans la liste, un fichier sera lu.
    Le format de ce fichier doit être:
    valeur du pixel (0- > 255) Red Blue Green (intensité entre 0- > 255).
    La chaîne vide "" efface la table de couleur par défaut.

send_default_color_scale "GREY"

  • Charger une table de couleur de Msphinx. Voir le §14.2 pour les noms des échelles. Si le nom de l'échelle de couleur n'est pas dans la liste, un fichier sera lu.
    Le format de ce fichier doit être:
    valeur du pixel (0- > 255) Red Blue Green (intensité entre 0- > 255).

send_color_scale_name "GREY"

  • Copier une table de couleur d'un plan vers un autre.

send_copy_lut PLANEFROM=1 PLANETO=3

  • Fixer une couleur pour un pixel donné (0->255)

send_color_level LEVEL=1 RED=255 GREEN=255 BLUE=255

14.8  Tracé sur le plan graphique

Ces fonctions permettent d'ajouter des objets sur le plan graphique.
les variables X1, Y1, X2, Y2 sont les positions (départ, arrivée) de chaque objet. Pour les couleurs, style de lignes et polices de caractères, voir le glossaire (§14.2).

  • Dessiner un texte sur le plan graphique.
    Vous pouvez donner une valeur d'épaisseur de contour (Border). Si la variable Frame est positionnée, le fond du texte sera transparent.

send_draw_text X1=50 Y1=10 BORDER=0

FOREGROUNDCOLOR="RED"

BACKGROUNDCOLOR="TRANSPARENT"

FONTNAME="Bell.ttf" SIZEFACTOR=1.0 ROTATION=0.0

FRAME=Yes|No TEXT="THIS IS A SIMPLE TEST"

  • Tracer une ligne sur le plan graphique.
    La variable Thickness donne l'épaisseur du trait.

send_draw_line X1=50 Y1=50 X2=300 Y2=300

THICKNESS=8 STYLE="SOLID" COLOR="BLUE"

  • Tracer une flèche sur le plan graphique.
    La variable Thickness donne l'épaisseur du trait. La variable ArrowFactor donne la taille de la flèche.

send_draw_arrow X1=0 Y1=100 X2=200 Y2=350

THICKNESS=4 ARROWFACTOR=20

STYLE="SOLID" COLOR="GREEN"

  • Tracer un rectangle sur le plan graphique.
    La variable Thickness donne l'épaisseur du trait.

send_draw_box X1=0 Y1=0 X2=512 Y2=512

THICKNESS=4 STYLE="SOLID" COLOR="CYAN"

  • Tracer un symbole sur le plan graphique.
    Voir le glossaire (§14.2) pour les différents noms d'icônes.

send_draw_icon X=250 Y=150 ICONNAME="CIRCLE"

ICONSIZE=1.000000 ICONCOLOR="YELLOW"

  • Tracer un symbole et un texte sur le plan graphique.

send_draw_icon_text X=250 Y=250 ICONNAME="CIRCLE"

ICONSIZE=1.000000 ICONCOLOR="RED"

BORDER=2 FOREGROUNDCOLOR="MAGENTA"

BACKGROUNDCOLOR="WHITE"

FONTNAME="Bell.ttf" SIZEFACTOR=1.0

ROTATION=0.0 FRAME=Yes|No TEXT="CIRCLE"

  • Tracer une échelle de couleur (linéaire ou en boîtes) sur le plan de visualisation.

La formulation du langage C est utilisée pour la variable TextFormat.
La variable UpLeftSide est la position du label (par défaut, en bas ou à droite).
La liste Labels est une suite de valeurs (de 0 à 255) suivies par un texte entre guillemets ou des valeurs indépendantes écrites dans le format imposé.

send_draw_scale VIEWPLANE= 3 X=0 Y=600

WIDTH=512 HEIGHT=100

LUTFROM=0 LUTTO=255

send_draw_scale_label X=0 Y=0 WIDTH=300 HEIGHT=500

TICKCOLOR="Red"

FOREGROUNDCOLOR="Red"

BACKGROUNDCOLOR="Tranparent"

TEXTFORMAT=" FONTNAME="Courb.ttf"

SIZEFACTOR=1.0 UPLEFTSIDE=No

NOTICKS=Yes|No LABELS=" 25 1.00 30 Clouds ... "

send_draw_box_label X=0 Y=0 WIDTH=300 HEIGHT=500

TICKCOLOR="Red"

FOREGROUNDCOLOR="Red"

BACKGROUNDCOLOR="Tranparent"

TEXTFORMAT=" FONTNAME="Courb.ttf"

SIZEFACTOR=1.0 UPLEFTSIDE=No

LABELS=" 25 1.00 30 Clouds ... "

14.9  Les fonctions

  • Redessiner le plan de visualisation à partir du plan de données avec une fonction linéaire entre un minimum A et un maximum B.

Si l'utilisateur a choisi l'option Mask=Yes , la transformation ne sera pas appliquée au pixel masqué. L'option Log permet de choisir une fonction logarithmique plutôt que linéaire.

send_enhance VIEWPLANE=1 X=0 Y=0

WIDTH=1000 HEIGHT=1000 MASK=Yes|No

A=10.0 B=30.0 LOG=Yes|No

  • Conversion directe du pixel.

Dans l'exemple ci-dessous, la valeur du pixel original est de 100, avant d'appliquer l'équation, elle sera transformée en 200 et la valeur 300 sera transformée en 201. Ceci sera fait avec la commande ``send_algebra''.

send_algebra_conv " 100 ->200 300 ->201"

  • Calculer une équation algébrique.

L'utilisateur peut utiliser le plan masqué comme filtre (les pixels masqués ne seront pas pris en compte).
Il peut utiliser send_algebra_conv en fixant la valeur SetVal.
la fonction Expand permet de dilater l'échelle de couleur.
Les valeurs situées sous la valeur CutMin seront considérées comme égales à CutMin. Les valeurs situées au-dessus de CutMax seront considérées comme égales à CutMax.

send_algebra MASK=Yes|No SETVAL=Yes|No EXPAND=Yes|No

CUTMIN=0.000000 CUTMAX=255.000000

FORMULA="C[3,1]=rnd()*255"

Par exemple:

C[3,1]=rnd()*255 Cellule no 1, depuis le plan no 3
R=rnd()*255 plan Red entier
P[100]=rnd()*255 Plan 100, entier

(Voir le menu ``Sphinx algebra'' pour les définitions.)

  • Calculer un produit de convolution SOBEL.

La variable Name peut être soit le nom du filtre soit la valeur ``OWNER''. La variable Style définit le filtre: il sera appliqué soit en ligne (LINES), soit en colonnes (COLUMNS) ou encore pour la matrice (MATRIX). L'utilisateur peut utiliser le plan masqué comme filtre (les pixels masqués ne seront pas pris en compte).
Il peut également utiliser ses propres valeurs de filtre.

send_convolution PLANE=3 X=0 Y=0 WIDTH=512 HEIGHT=512

NAME="SOBEL" LINES=3 COLUMNS=3

THRESHOLD=8421.000000 STYLE="MATRIX"

MASK=Yes|No MATRIX=""

send_convolution PLANE=3 X=0 Y=0 WIDTH=512 HEIGHT=512

NAME=ÖWNER" LINES=1 COLUMNS=9

THRESHOLD=8421.000000 STYLE="COLUMNS"

MASK=Yes|No MATRIX=0,0,0,1,1,1,0,0,0"

  • Calculer un masque pour un intervalle de valeurs donné.

la variable Do permet de réaliser l'opération ``DO'' ou ``AND'' entre des intervalles. Si la variable AddMode est vraie, les pixels de masque existants seront conservés. Vous pouvez définir une couleur de masque et un filtre, ex: data_value < Plane < data_value etc.. (" 0x55 < 3 0x77 <5 " ).

send_create_mask X=0 Y=0 WIDTH=512 HEIGHT=512

DO=ÄND" ADDMODE=Yes|No INVERSMASK=Yes|No

COLOR="CYAN" FILTER=" 48 <3 <64 110 <5 < 333"

  • Calculer des statistiques sur une zone.

L'utilisateur peut utiliser le plan de masque comme filtre (les pixels masqués ne seront pas pris en compte).

send_area_statistics PLANEFROM=3 PLANETO=3

X=0 Y=0 WIDTH=512 HEIGHT=512

MASK=Yes|No IGNOREZEROS=Yes|No ADDMODE=Yes|No

  • Redimensionner le plan image.

Si les variables XFactor, YFactor sont mises à zéro, la taille sera calculée à partir de la géométrie de départ. L'utilisateur peut utiliser le plan de masque comme filtre (les pixels masqués ne seront pas pris en compte).
La variable LinearColorScale : l'échelle de couleur de l'image RGB sera (ou non) en linéaire. La variable RescaleValues: depuis le plan ``From'' vers le plan ``To''

send_image_resize PLANEFROM=3 XFROM=0 YFROM=0

WIDTHFROM=512 HEIGHTFROM=512

PLANETO=3 XTO=0 YTO=0

WIDTHTO=512 HEIGHTTO=512

XFACTOR=0.0 YFACTOR=0.0

MASK=Yes|No LINEARCOLORSCALE=Yes|No

RESCALEVALUES=Yes|No

METHOD="LinearInterpolation"|"NearestPixel"|"BicubicSpline"|"MeanValue"

14.10  Les projections

Noms des projections [nombre de paramètres]:

                													LINEAR[..],		POLDER[..],		GOODE[..],	MOLLWEIDEEA[3],
                													HAMMER[3],		AZIMUTHAL[2,3],		LAMBERT[2,3],	MILLER[3],
                													MOLLWEIDE[3],		ORTHOGRAPHIC[2,3],	ROBINSON[3],	SINUSOIDAL[3],
                													VANDERGRINTEN[3],	WAGNER7[3],		MODIS[0,3,8,9]
                											

Liste des noms des paramètres:

[0] MajorAxisFrom or MajorAxisTo major axis
[1] MinorAxisFrom or MinorAxisTo minor axis
[2] CenterLatitudeFrom or CenterLatitudeTo center latitude
[3] CenterLongitudeFrom or CenterLongitudeTo center longitude
[4] FirstStandardParallelFrom or FirstStandardParallelTo first standard parallel
[5] SecondStandardParallelFrom or SecondStandardParallelTo second standard parallel
[6] XOffsetInMetersFrom or XOffsetInMetersTo x offset in meters
[7] YOffsetInMetersFrom or YOffsetInMetersTo y offset in meters
[8] RowsFrom or RowsTo
[9] RightJustifyFrom or RightJustifyTo


Generalités:

...To= arrivée (géométrie, plans de données, localisation...)
...From= départ (géométrie, plans de données, localisation...)
X...= Y...o= position dans l'image de départ (lignes, colonnes)
Latitude...= Longitude...= géometrie de projection
EXTRA PARAMETERS= value style de Projection

  • Fixer la géométrie du plan d'arrivée

set_projection_to_geometry XTO=0 YTO=0 WIDTHTO=1000 HEIGHTTO=500

PROJECTIONTO="LINEAR|POLDER|..."

LATITUDEMINTO=-90.0000 LATITUDEMAXTO=90.0000

LONGITUDEMINTO=-180.0000 LONGITUDEMAXTO=180.0000

[ EXTRA PARAMETERS= value ]

  • Exécuter une projection

send_projection PIXELOVERLAP=Yes|No PLANETO=3 PLANEFROM=1

XFROM=0 YFROM=0

WIDTHFROM=100 HEIGHTFROM=500

PROJECTIONFROM="LINEAR"

LATITUDEMINFROM=-90.0000 LATITUDEMAXFROM=90.0000

LONGITUDEMINFROM=-180.0000 LONGITUDEMAXFROM=180.0000

[ EXTRA PARAMETERS= value ]

  • Ajouter une grille projetée sur le plan graphique:
    Les références latitude, longitude sont les références de la zone dans l'espace ``TO''.

send_grids LATITUDEMIN=-90.0 LATITUDEMAX=90.0 LATITUDESTEP=5.0

LONGITUDEMIN=-180.0 LONGITUDEMAX=180.0 LONGITUDESTEP=10.0

COLOR="RED" LINEWIDTH=1 SENDTOMGRAPH=Yes|No

  • Ajouter un fond de carte projeté sur le plan graphique

send_world_map COASTLINES=Yes|No RIVERS=Yes|No BOUNDARIES=Yes|No

COASTLINECOLOR="GREEN" RIVERCOLOR=Blue

BOUNDARYCOLOR=Magenta LINEWIDTH=1 SENDTOMGRAPH=Yes|No

Ci-dessous, la liste des autres mots clefs:

RIVERS=yes means All rivers
RIVERSRANK1=yes Permanent major rivers
RIVERSRANK2=yes Additional major rivers
RIVERSRANK3=yes Additional rivers
RIVERSRANK4=yes Minor rivers
RIVERSRANK5=yes Intermittent major rivers
RIVERSRANK6=yes Intermittent minor rivers
RIVERCOLOR= All rivers
COLORRANK1=
COLORRANK2=
COLORRANK3=
COLORRANK4=
COLORRANK5=
COLORRANK6=

  • Ajouter un symbole sur le plan graphique

send_draw_projected_icon XTO= 2.337 YTO= 48.837

ICONNAME="Circle" ICONSIZE=.20 ICONCOLOR="RED"

  • Ajouter un texte sur le plan graphique.
    Les polices de caractères se situent dans le répertoire Mfiles/Fonts.
    ``Frame'' signifie: ajouter un fond transparent.

send_draw_projected_text XTO= 2.337 YTO= 48.837 BORDER=0

FOREGROUNDCOLOR="WHITE"

BACKGROUNDCOLOR="TRANSPARENT"

FONTNAME="Bell.ttf" SIZEFACTOR=1.0

ROTATION=0.0 FRAME=Yes|No

TEXT="Paris"

  • Ajouter un symbole et un texte sur le plan graphique.

send_draw_projected_icon_text XTO= 2.337 YTO= 48.837 ICONNAME="Circle"

ICONSIZE=.20 ICONCOLOR="RED" BORDER=0

FOREGROUNDCOLOR="WHITE"

BACKGROUNDCOLOR="TRANSPARENT"

FONTNAME="Bell.ttf" SIZEFACTOR=1.0

ROTATION=0.0 FRAME=Yes

TEXT="Paris"

  • Ajouter les labels latitude/longitude sur le plan graphique.

send_draw_latitude_labels FOREGROUNDCOLOR="Red"

BACKGROUNDCOLOR="TRANSPARENT"

BORDER=0 FONTNAME="Bell.ttf"

SIZEFACTOR=1.0 ROTATION=0.0 TEXTFORMAT="%.2f"

LONGITUDE=10.0 LATITUDEMIN=100.0

LATITUDEMAX=200.0 LATITUDESTEP=10.0

send_draw_longitude_labels FOREGROUNDCOLOR="Red"

BACKGROUNDCOLOR="TRANSPARENT"

BORDER=0 FONTNAME="Bell.ttf"

SIZEFACTOR=1.0 ROTATION=0.0 TEXTFORMAT="%.2f"

LATITUDE=20.0 LONGITUDEMIN=10.0

LONGITUDEMAX=80.0 LONGITUDESTEP=10.0

  • Dessiner une échelle de couleur avec du texte. Les variables X, Y, Width and Height sont exprimées en pixels.

send_draw_scale VIEWPLANE= 3 X=48 Y=650 WIDTH=300 HEIGHT=100

LUTFROM=0 LUTTO=255

send_draw_scale_label X=48 Y=650 WIDTH=300 HEIGHT=100 TICKCOLOR="White"

FOREGROUNDCOLOR="White" BACKGROUNDCOLOR="Transparent"

TEXTFORMAT=" FONTNAME="Courb.ttf" SIZEFACTOR=1.0

UPLEFTSIDE=No NOTICKS=No

LABELS=" 10 -1.00 100 -10.0 200 Clouds"

14.11  Le tracé

Si la variable Mask est positionnée, la transformation ne sera pas appliquée si le pixel est masqué.

  • Tracer un histogramme

Les variables Xmin, Xmax, ClassSize définissent les minimum, maximum et largeur de classe. Si ces valeurs sont nulles, elles seront calculées automatiquement. Si la variable Cumulative est positionnée, les ordonnées iront de 0 à 100 %. Selon le positionnement de la variable YPercent, l'utilisateur peut tracer en comptes numériques ou en pourcentage. Si la variable ZeroClassFilter est positionnée, les zéros ne seront pas pris en compte.

send_plot_histogram PLANEFROM=3 PLANETO=3

X=0 Y=100 WIDTH=200 HEIGHT=350

XMIN=0.0 XMAX=1000.0 CLASSSIZE=10.0

CUMULATIVE=Yes|No YPERCENT=Yes|No

ZEROCLASSFILTER=Yes|No RUNOVERALLCELLS=Yes|No

MASK=Yes|No

HISTOTYPE="CURVE"|"STEPS"|"BARS"|"BARSWITHGAP"

COLOR="CURRENT"

MGRAPHPLOTMODE="NEWCURVE"|"CURVEADDMODE"

  • Tracer une radiale

Avec la variable DistanceXUnit, l'utilisateur peut choisir la définition en abcisse: en pixel ou en distance.

send_plot_transect PLANEFROM=3 PLANETO=3

X1=0 Y1=100 X2=200 Y2=350

DISTANCEXUNIT=Yes|No RUNOVERALLCELLS=Yes|No

MASK=Yes|No COLOR="CURRENT"

MGRAPHPLOTMODE="NEWCURVE"|"CURVEADDMODE"

  • Tracer un nuage de points bidimentionnel

send_plot_bidimentional XPLANE=3 XPLANEX=100 XPLANEY=100

XWIDTH=100 XHEIGHT=100

YPLANE=1 YPLANEX=100 YPLANEY=100

YWIDTH=100 YHEIGHT=100

XMASK=Yes|No YMASK=Yes|No

COLOR="CURRENT"

MGRAPHPLOTMODE="NEWCURVE"|"CURVEADDMODE"

  • Tracer un contour sur le plan graphique

Pour chaque valeur de contour, vous pouvez associer une couleur.

send_contour PLANE=3

X=0 Y=0 WIDTH=512 HEIGHT=512

RED= "8 16" GREEN= "30 32" BLUE= "64"

MAGENTA= "80" WHITE= "" BLACK= "112"

FOREST= "116" SIENNA= "120" YELLOW= "130"

CORAL= "150" VIOLET= "160" PLUM= "170"

CYAN= "180" TURQUOISE= "200"

  • Tracer un contour avec Mgraph

Les variables ToXmin, ToXmax, ToYmin, ToYmax définissent la géométrie de la zone pour Mgraph .

send_plot_contour PLANE=3

X=0 Y=0 WIDTH=512 HEIGHT=512

TOXMIN=-180 TOXMAX=180 TOYMIN=-90 TOYMAX=90

UNDEF=8421 DRAWLABEL=Yes|No

LABELCFORMAT="%.0f"

MGRAPHPLOTMODE="NEWCURVE"|"CURVEADDMODE"

RED= "8 16" GREEN= "30 32" BLUE= "64"

MAGENTA= "80" WHITE= "" BLACK= "112"

FOREST= "116" SIENNA= "120" YELLOW= "130"

CORAL= "150" VIOLET= "160" PLUM= "170"

CYAN= "180" TURQUOISE= "200"

  • Envoyer un plan de visualisation comme fond d'image à Mgraph.

send_plot_contour_background_image VIEWPLANE=3

X=0 Y=0 WIDTH=512 HEIGHT=512

TOXMIN=-180 TOXMAX=180 TOYMIN=-90 TOYMAX=90

UNDEF=8421

NEARESTPIXELINTERPOLATION=Yes|No

ADDGRAPHPLANE=Yes|No

MGRAPHPLOTMODE="NEWCURVE"|"CURVEADDMODE"

14.12  Les impressions

  • Effacer les mises en page précédentes.

Cette commande peut être utilisée pour effacer les précédents ajouts entre 2 ``page settings''.

send_clear_page

Pour toutes les fonctions ci-dessous, les variables X1, Y1, X2, Y2 définissent la position sur la page (de début et de fin pour les lignes et les rectangles). Toutes les unités sont en centimètres. Voir le §14.2 pour les définitions de style.

  • Dessiner un texte, une ligne ou un rectangle

send_draw_page_text X1=5. Y1=1.

FOREGROUNDCOLOR="RED" BOLDFONT=Yes|No

TEXTHEIGHT=1.0 ROTATION=0.0

JUSTIFICATION="Left"|"Center"|"Right"

TEXT="THIS IS A SIMPLE TEST"

send_draw_page_line X1=5. Y1=2. X2=10. Y2=2.

COLOR="red" THICKNESS=0.1 STYLE="Solid"

send_draw_page_box X1=5. Y1=2. X2=10. Y2=2.

COLOR="red" THICKNESS=0.1 STYLE="Solid"

  • Envoyer une image dans la cellule.

Si la variable FitPatch est positionnée, l'image remplira la cellule. les variables X, Y, Width, Height donnent la position et la taille de l'image à imprimer. Les variables XTo, YTo, WidthTo, HeightTo donnent la position et la taille de la cellule contenant l'image.

send_draw_page_cell X=0 Y=0 WIDTH=512 HEIGHT=512

XTO=2 YTO=2 WIDTHTO=10 HEIGHTTO=10

FITPATCH=Yes|No

  • Imprimer la page: en Postcript, Encapsulated PostScript ou vers une imprimante avec une commande ``shell''.

La résolution est en dpi (dot per inch).

send_to_PS_File FILE="./print.ps" TYPE=Color | Black&White

PAPERFORMAT=A4 | A3 | B5 | USLETTER | USLEGAL

RESOLUTION=100 COPIES=1

ORIENTATION=Portrait | Landscape

RGBENCODING=Yes|No

send_to_EPS_File FILE="./print.eps" TYPE=Color | Black&White

ORIENTATION=Portrait | Landscape

RESOLUTION=100 RGBENCODING=Yes|No

send_to_printer COMMAND="/usr/LOA/bin/vidpsINF"

TYPE=Color | Black&White RGBENCODING=Yes|No

PAPERFORMAT=A4 | A3 | B5 | USLETTER | USLEGAL

COPIES=1

ORIENTATION=Portrait | Landscape RESOLUTION=100

14.13  Les commandes intégrées

L'utilisateur peut intégrer un bloc de commandes pour les autres logiciels comme Mgraph ou HDFlook.
                											 send_Mgraph
                											<<              ... start block ...
                											        ....   les commandes pour Mgraph ...
                											>>              ... end of block ...


                											send_HDFLook
                											<<              ... start block ...
                											        ....   es commandes pour HDFLook ...
                											>>              ... end of block ...

                											

**********************************************************

Annexe A
Exemples de fichiers de commandes

Les fichiers de commandes ci-dessous ont été interprétés par Msphinx .

A.1   Création d'une sortie Mgraph


                											#verbose

                											send_set_verbose

                											set_workpace_geometry PlaneWidth=1000 PlaneHeight=500  DataType=0 CellWidth=1000 CellHeight=500

                											send_show_view ViewPlane=0

                											send_read_other  Plane=0 X=0 Y=0 Width=0 Height=0 Expand=No    \
                											            Filename="../IMAGES/LINEAR_MAYFEB.tif"

                											send_plot_histogram PlaneFrom=1 PlaneTo=3 X=420 Y=110 \
                													Width=284 Height=270 Xmin=1 Xmax=1 ClassSize=1 \
                													Cumulative=No     YPercent=No    \
                													ZeroClassFilter=Yes  \
                													RunOverAllCells=No     Mask=No    \
                													HistoType="CURVE" \
                													Color="CURRENT" MgraphPlotMode="NEWCURVE"




                											send_Mgraph
                											<<
                											#verbose
                											PlotTitle     Title="Histogram (Curve style)" Height=1.50
                											Grid          Frame=Yes   Xgrid=No       Ygrid=No  [Yes | Light | No]
                											#ScaleToFrame
                											LineStyle     Curve=1   Style=Solid          Color=Red          Thickness=3
                											MarkStyle     Curve=1   Style=Fcircle         Size=5
                											LineStyle     Curve=2   Style=Solid          Color=Green        Thickness=3
                											MarkStyle     Curve=2   Style=Fcircle         Size=5
                											LineStyle     Curve=3   Style=Solid          Color=Blue         Thickness=3
                											MarkStyle     Curve=3   Style=Fcircle         Size=5

                											XTitle        Title="Pixel value" Height=0.00
                											XAxis Show=Yes     Scale=Linear    Min=-1    Max=-1  Delta=-1  Color=Red  Thickness=4
                											XLabel        LabelStep=-1   Reference=-1   LabelHeight=1.50   CFormat="%.0f"  Angle=0.0
                											YTitle        Title=" % of area (22879 pixels)" Height=0.00
                											YAxis Show=Yes     Scale=Linear    Min=0    Max=2000    Delta=-1  Color=Blue  Thickness=1
                											YLabel        LabelStep=-1    Reference=-1   LabelHeight=1.50   CFormat="%.0f"  Angle=0.0

                											DrawCell     XStart=2.0   YStart=2.0   Width=8.00   Height=7.0\
                												Type=Color   Orientation=Portrait  Mode=Margin[|ScaleToFrame]

                											>>






                											send_area_statistics PlaneFrom=1 PlaneTo=3 X=420 Y=110 Width=284 Height=270 \
                													Mask=No    IgnoreZeros=No    AddMode=Yes


                											send_plot_transect PlaneFrom=1 PlaneTo=3 X1=370 Y1=230 \
                											                X2=710 Y2=230  DistanceXUnit=No    \
                											                RunOverAllCells=No     Mask=No    \
                											                Color="CURRENT" MgraphPlotMode="NEWCURVE"






                											send_Mgraph
                											<<
                											PlotTitle     Title="Transect" Height=1.50
                											XLabel        LabelStep=-1   Reference=-1   LabelHeight=1.50   CFormat="%.0f"  Angle=0.0
                											YLabel        LabelStep=-1    Reference=-1   LabelHeight=1.50   CFormat="%.0f"  Angle=0.0

                											DrawCell     XStart=11.00   YStart=2.0      Width=8.00   Height=7.0\
                												Type=Color   Orientation=Portrait  Mode=Margin[|ScaleToFrame]
                											>>






                											send_plot_bidimentional XPlane=1 XPlaneX=420 XPlaneY=110 XWidth=284 XHeight=270 \
                											                	YPlane=2 YPlaneX=420 YPlaneY=110 YWidth=284 YHeight=270 \
                											                	XMask=No    YMask=No    \
                											                	Color="Green" MgraphPlotMode="NEWCURVE"






                											send_Mgraph
                											<<
                											PlotTitle     Title="(POLDER) Red / Green" Height=1.50
                											XLabel        LabelStep=-1   Reference=-1   LabelHeight=1.50   CFormat="%.0f"  Angle=0.0
                											YLabel        LabelStep=-1    Reference=-1   LabelHeight=1.50   CFormat="%.0f"  Angle=0.0

                											FitResultFormat "Correlation: %.f  Y = %.6f X + %.3f",cor,c1,c0
                											Fit     Function=Polynomial Curve=-1  Min=-1 Max=-1 Npoints=100 Step=-1 Order=1   [Mode=Add|Replace|Merge] Variable=X \
                												FIT_RESULT_AS_ANNOTATION=Yes XStart=0.25%  YStart=10.00% Color=Black Style=Plain Height=1.50


                											DrawCell     XStart=2.0000   YStart=10.000   Width=8.00   Height=7.0\
                												Type=Color   Orientation=Portrait  Mode=Margin[|ScaleToFrame]
                											>>





                											send_plot_bidimentional XPlane=1 XPlaneX=420 XPlaneY=110 XWidth=284 XHeight=270 \
                											                	YPlane=3 YPlaneX=420 YPlaneY=110 YWidth=284 YHeight=270 \
                											                	XMask=No    YMask=No    \
                											                	Color="Blue" MgraphPlotMode="NEWCURVE"



                											send_Mgraph
                											<<
                											PlotTitle     Title="(POLDER) Red / Blue" Height=1.50
                											XLabel        LabelStep=-1   Reference=-1   LabelHeight=1.50   CFormat="%.0f"  Angle=0.0
                											YLabel        LabelStep=-1    Reference=-1   LabelHeight=1.50   CFormat="%.0f"  Angle=0.0

                											FitResultFormat "Correlation: %.f  Y = %.6f X + %.3f",cor,c1,c0
                											Fit     Function=Polynomial Curve=-1  Min=-1 Max=-1 Npoints=100 Step=-1 Order=1   [Mode=Add|Replace|Merge] Variable=X \
                												FIT_RESULT_AS_ANNOTATION=Yes XStart=0.25%  YStart=10.00% Color=Black Style=Plain Height=1.50

                											DrawCell     XStart=11.0000   YStart=10.000   Width=8.00   Height=7.0\
                												Type=Color   Orientation=Portrait  Mode=Margin[|ScaleToFrame]
                											>>



                											send_create_mask   X=240 Y=140 Width=310 Height=110 \
                											    Do="AND" AddMode=No    InversMask=Yes   Color="RED" " 0 <red <50  0 <green <50 "

                											send_convolution   Plane=0 X=240 Y=140 Width=310 Height=110 \
                											             Name="SMOOTH"  Lines=7 Columns=7 \
                											           Threshold=8421.000000 Style="MATRIX"  Mask=Yes    ""

                											send_enhance ViewPlane=1 X=240 Y=140 Width=310 Height=110 Mask=Yes  A=10.0 B=30.0
                											send_enhance ViewPlane=2 X=240 Y=140 Width=310 Height=110 Mask=Yes  A=10.0 B=30.0
                											send_enhance ViewPlane=3 X=240 Y=140 Width=310 Height=110 Mask=Yes  A=2.0 B=180.0

                											send_clear_mask X=240 Y=140 Width=310 Height=110


                											#send_plot_contour Plane=3 X=0 Y=0 Width=1000 Height=500 \
                											#			 ToXmin=-180 ToXmax=180 ToYmin=-90 ToYmax=90 \
                											#                        Undef=8421 DrawLabel=No LabelCFormat="%.0f" \
                											#                        MgraphPlotMode="NewCurve"     \
                											#                       Cyan=      "180"

                											#send_plot_contour Plane=1 X=0 Y=0 Width=1000 Height=500 \
                											#			 ToXmin=-180 ToXmax=180 ToYmin=-90 ToYmax=90 \
                											#                        Undef=8421 DrawLabel=No LabelCFormat="" \
                											#                        MgraphPlotMode="CurveAddMode"     \
                											#                       Magenta=      "50"

                											send_plot_contour_background_image ViewPlane=0 X=0 Y=0 Width=1000 Height=500 \
                														ToXmin=-180 ToXmax=180 ToYmin=-90 ToYmax=90 \
                											                        Undef=8421  NearestPixelInterpolation=Yes \
                											                        MgraphPlotMode="NewCurve"


                											send_Mgraph
                											<<
                											#AddLogo    XStart=2.000 YStart=5.000 XScale=-1.000 YScale=0.000
                											PlotTitle     Title="POLDER  Surface reflectance  (May 97)" Height=1.00
                											SurfaceGeometry [Xmin=-180 Xmax=180 Ymin=-90 Ymax=90]    DistanceFactor=1 XYRatio=1 NearestPixelInterpolation=Yes

                											XTitle        Title=" " Height=1.00
                											XAxis Show=Yes     Scale=Linear    Min=-180    Max=180  Delta=30  Color=Black  Thickness=1
                											XLabel        LabelStep=-1   Reference=-1   LabelHeight=1.00   CFormat="%.0f"  Angle=0.0
                											YTitle        Title=" " Height=1.00
                											YAxis Show=Yes     Scale=Linear    Min=-90    Max=90    Delta=30  Color=Black  Thickness=1
                											YLabel        LabelStep=-1    Reference=-1   LabelHeight=1.00   CFormat="%.0f"  Angle=0.0

                											PlotBox      XStart=44.33%  YStart=19.33%  XEnd=65.65% YEnd=71.85% \
                														Color=Red   Style=Solid  Thickness=6
                											PlotLine     XStart=43.15%  YStart=44.12%  XEnd=68.19% YEnd=45.80%  \
                														Color=Magenta   Style=Solid  Thickness=6

                											DrawCell     XStart=1.0000   YStart=18.0   Width=18.00   Height=11.00\
                												Type=Color   Orientation=Portrait  Mode=Margin[|ScaleToFrame]

                											SendTo[EPS]File   File="./printMGRAPH.ps"  Type=Color    [Copies=1]   Orientation=Portrait
                											#SendToPrinter  Command="/usr/LOA/bin/vidpsINF"  Type=Color   [Copies=1]   Orientation=Portrait

                											>>
                											    

MGRAPH.gif

A.2   Création d'une projection sinusoïdale



                											# CREATE A SINUSOIDAL IMAGE FROM A LINEAR IMAGE FILE WITH GRIDS AND WORLD MAP
                											#============================================================================
                											verbose

                											send_set_verbose

                											set_project ProjectName="TESTCOM" DataPlanesOnDisk=Yes

                											set_workpace_geometry PlaneWidth=1000 PlaneHeight=500  DataType=0 CellWidth=1000 CellHeight=500

                											send_destroy_all_data

                											send_show_view ViewPlane=1

                											send_read_other  Plane=1 X=0 Y=0 Width=0 Height=0 Expand=No    \
                											            FileName="../IMAGES/LINEAR_MAYFEB256.tif"

                											send_copy_lut  PlaneFrom=1 PlaneTo=3

                											send_show_view ViewPlane=3

                											send_clear_area Plane=3 X=0 Y=0 Width=1000 Height=500

                											set_projection_to_geometry XTo=0 YTo=0 WidthTo=1000 HeightTo=500 ProjectionTo="LINEAR"\
                														   LatitudeMinTo=-90.0000 LatitudeMaxTo=90.0000 \
                														   LongitudeMinTo=-180.0000 LongitudeMaxTo=180.0000

                											send_grids LatitudeMin=-90.0000 LatitudeMax=90.0000 LatitudeStep=5.0000 \
                											                    LongitudeMin=-180.0000 LongitudeMax=180.0000 LongitudeStep=10.0000 \
                											                    Color="BLUE"

                											set_projection_to_geometry XTo=0 YTo=0 WidthTo=1000 HeightTo=500 ProjectionTo="SINUSOIDAL"\
                														   LatitudeMinTo=-90.0000 LatitudeMaxTo=90.0000 \
                														   LongitudeMinTo=-180.0000 LongitudeMaxTo=180.0000  \
                														   CenterLongitudeTO=-120.0000

                											send_projection PixelOverlap=No    PlaneTo=3 PlaneFrom=1 \
                											                XFrom=0 YFrom=0 WidthFrom=1000 HeightFrom=500 ProjectionFrom="LINEAR" \
                											                LatitudeMinFrom=-90.0000 LatitudeMaxFrom=90.0000 \
                											                LongitudeMinFrom=-180.0000 LongitudeMaxFrom=180.0000


                											send_grids LatitudeMin=-90.0000 LatitudeMax=90.0000 LatitudeStep=5.0000 \
                											                    LongitudeMin=-180.0000 LongitudeMax=180.0000 LongitudeStep=10.0000 \
                											                    Color="RED"

                											send_world_map Color="GREEN"

                											send_unset_verbose
                											verbose

                											send_draw_projected_text XTo=-120.0 YTo= -90  \
                												Border=0 ForegroundColor="YELLOW" BackgroundColor="TRANSPARENT" \
                												 FontName="Georgiab.ttf" SizeFactor=1.0 Rotation=0.0 Frame=No       Text=" -90"
                											send_draw_projected_text XTo=-120.0 YTo= -80  " -80"
                											send_draw_projected_text XTo=-120.0 YTo= -70  " -70"
                											send_draw_projected_text XTo=-120.0 YTo= -60  " -60"
                											send_draw_projected_text XTo=-120.0 YTo= -50  " -50"
                											send_draw_projected_text XTo=-120.0 YTo= -40  " -40"
                											send_draw_projected_text XTo=-120.0 YTo= -30  " -30"
                											send_draw_projected_text XTo=-120.0 YTo= -20  " -20"
                											send_draw_projected_text XTo=-120.0 YTo= -10  " -10"
                											send_draw_projected_text XTo=-120.0 YTo=   0  "   0"
                											send_draw_projected_text XTo=-120.0 YTo=  10  "  10"
                											send_draw_projected_text XTo=-120.0 YTo=  20  "  20"
                											send_draw_projected_text XTo=-120.0 YTo=  30  "  30"
                											send_draw_projected_text XTo=-120.0 YTo=  40  "  40"
                											send_draw_projected_text XTo=-120.0 YTo=  50  "  50"
                											send_draw_projected_text XTo=-120.0 YTo=  60  "  60"
                											send_draw_projected_text XTo=-120.0 YTo=  70  "  70"
                											send_draw_projected_text XTo=-120.0 YTo=  80  "  80"
                											send_draw_projected_text XTo=-120.0 YTo=  90  "  90"
                											send_draw_projected_text XTo=-160 YTo=0.0  "-160"
                											send_draw_projected_text XTo=-140 YTo=0.0  "-140"
                											send_draw_projected_text XTo=-100 YTo=0.0  "-100"
                											send_draw_projected_text XTo= -80 YTo=0.0  " -80"
                											send_draw_projected_text XTo= -60 YTo=0.0  " -60"
                											send_draw_projected_text XTo= -40 YTo=0.0  " -40"
                											send_draw_projected_text XTo= -20 YTo=0.0  " -20"
                											send_draw_projected_text XTo=   0 YTo=0.0  "   0"
                											send_draw_projected_text XTo=  20 YTo=0.0  "  20"
                											send_draw_projected_text XTo=  40 YTo=0.0  "  40"
                											send_draw_projected_text XTo=  60 YTo=0.0  "  60"
                											send_draw_projected_text XTo=  80 YTo=0.0  "  80"
                											send_draw_projected_text XTo= 100 YTo=0.0  " 100"
                											send_draw_projected_text XTo= 120 YTo=0.0  " 120"
                											send_draw_projected_text XTo= 140 YTo=0.0  " 140"
                											send_draw_projected_text XTo= 160 YTo=0.0  " 160"
                											send_draw_projected_text XTo= 180 YTo=0.0  " 180"

                											verbose
                											send_create_file ViewPlane=3 X=0 Y=0 Width=1000 Height=500 FileFormat="GIF" \
                												 Filename="PROJECTION_COM.gif"
                											    

PROJECTION.gif

A.3   Projection linéaire avec emplacement des villes

                											#  				(ZOOM 0->90,-10->30)
                											# CREATE A LINEAR PROJECTION MAP  DRAW CITIES LOCATION AND NAME
                											#====================================================================================
                											#verbose

                											send_unset_verbose

                											set_workpace_geometry PlaneWidth=1000 PlaneHeight=1000  DataType=0 CellWidth=1000 CellHeight=1000

                											send_show_view ViewPlane=1

                											send_read_other  Plane=1 X=0 Y=0 Width=0 Height=0 Expand=No    \
                											            "../IMAGES/LINEAR_MAYFEB256.tif"

                											send_copy_lut  PlaneFrom=1 PlaneTo=3

                											send_show_view ViewPlane=3

                											send_clear_area Plane=3 X=0 Y=0 Width=1000 Height=1000

                											set_projection_to_geometry XTo=0 YTo=0 WidthTo=1000 HeightTo=1000 ProjectionTo="SINUSOIDAL"\
                														   LatitudeMinTo=-0.0000 LatitudeMaxTo=90.0000 \
                														   LongitudeMinTo=-10.0000 LongitudeMaxTo=30.0000  \
                														   CenterLongitudeTO=0.0000

                											send_projection PixelOverlap=No    PlaneTo=3 PlaneFrom=1 \
                											                XFrom=0 YFrom=0 WidthFrom=1000 HeightFrom=500 ProjectionFrom="LINEAR" \
                											                LatitudeMinFrom=-90.0000 LatitudeMaxFrom=90.0000 \
                											                LongitudeMinFrom=-180.0000 LongitudeMaxFrom=180.0000


                											send_draw_projected_icon_text XTo= -99.731 YTo= 32.451 \
                											                         IconName="Circle" IconSize=.20 IconColor="MAGENTA" \
                											                         Border=0 ForegroundColor="RED"  \
                											                         BackgroundColor="TRANSPARENT" FontName="Georgiab.ttf" \
                														 SizeFactor=0.9 Rotation=0.0 Frame=No  \
                											                         Text="Abilene"

                											send_draw_projected_icon_text XTo= 4.900 YTo= 52.367     Text="Amsterdam"
                											send_draw_projected_icon_text XTo= 2.150 YTo= 41.383     Text="Barcelona"
                											send_draw_projected_icon_text XTo= -5.833 YTo= 54.583    Text="Belfast"
                											send_draw_projected_icon_text XTo= 13.417 YTo= 52.533    Text="Berlin"
                											send_draw_projected_icon_text XTo= -86.810 YTo= 33.517   Text="Birmingham"
                											send_draw_projected_icon_text XTo= 7.100 YTo= 50.667     Text="Bonn"
                											send_draw_projected_icon_text XTo= 4.637 YTo= 50.839     Text="Brussels"
                											send_draw_projected_icon_text XTo= 19.083 YTo= 47.500    Text="Budapest"
                											send_draw_projected_icon_text XTo= 0.100 YTo= 52.167     Text="Cambridge"
                											send_draw_projected_icon_text XTo= 6.967 YTo= 50.883     Text="Cologne"
                											send_draw_projected_icon_text XTo= -6.239 YTo= 53.316    Text="Dublin"
                											send_draw_projected_icon_text XTo= 8.400 YTo= 50.050     Text="Frankfurt"
                											send_draw_projected_icon_text XTo= 6.100 YTo= 46.233     Text="Geneva"
                											send_draw_projected_icon_text XTo= 0.000 YTo= 51.500     Text="Greenwich"
                											send_draw_projected_icon_text XTo= 9.933 YTo= 53.600     Text="Hamburg"
                											send_draw_projected_icon_text XTo= 10.250 YTo= 51.583    Text="Hannover"
                											send_draw_projected_icon_text XTo= 24.833 YTo= 60.167    Text="Helsinki"
                											send_draw_projected_icon_text XTo= 30.250 YTo= 59.917    Text="Leningrad"
                											send_draw_projected_icon_text XTo= -9.133 YTo= 38.717    Text="Lisbon"
                											send_draw_projected_icon_text XTo= -0.183 YTo= 51.508    Text="London"
                											send_draw_projected_icon_text XTo= 6.150 YTo= 49.617     Text="Luxembourg"
                											send_draw_projected_icon_text XTo= -3.700 YTo= 40.417    Text="Madrid"
                											send_draw_projected_icon_text XTo= 37.700 YTo= 55.750    Text="Moscow"
                											send_draw_projected_icon_text XTo= 11.950 YTo= 48.233    Text="Munich"
                											send_draw_projected_icon_text XTo= 2.337 YTo= 48.837     Text="Paris"
                											send_draw_projected_icon_text XTo= 14.400 YTo= 50.083    Text="Prague"
                											send_draw_projected_icon_text XTo= -21.937 YTo= 64.130   Text="Reykjavik"
                											send_draw_projected_icon_text XTo= 12.500 YTo= 41.883    Text="Rome"
                											send_draw_projected_icon_text XTo= 18.100 YTo= 59.583    Text="Stockholm"
                											send_draw_projected_icon_text XTo= 9.183 YTo= 48.767     Text="Stuttgart"
                											send_draw_projected_icon_text XTo= 2.117 YTo= 48.833     Text="Versailles"
                											send_draw_projected_icon_text XTo= 8.551 YTo= 47.378     Text="Zurich"
                											    

CITIES2.gif

A.4   Projection linéaire avec grilles, fonds de cartes et rivières


                											# CREATE A LINEAR PROJECTED IMAGE  WITH GRIDS, WORLD MAP AND RIVERS
                											#==================================================================
                											verbose

                											send_set_verbose

                											set_project ProjectName="TESTCOM" DataPlanesOnDisk=No

                											set_workpace_geometry PlaneWidth=1000 PlaneHeight=500  DataType=0 CellWidth=1000 CellHeight=500

                											send_show_view ViewPlane=1

                											send_read_other  Plane=1 X=0 Y=0 Width=0 Height=0 Expand=No    \
                											            Filename="../IMAGES/LINEAR_MAYFEB256.tif"

                											set_projection_to_geometry XTo=0 YTo=0 WidthTo=1000 HeightTo=500 ProjectionTo="LINEAR"\
                											                           LatitudeMinTo=-90.0000 LatitudeMaxTo=90.0000 \
                											                           LongitudeMinTo=-180.0000 LongitudeMaxTo=180.0000

                											send_grids LatitudeMin=-90.0000 LatitudeMax=90.0000 LatitudeStep=5.0000 \
                											                    LongitudeMin=-180.0000 LongitudeMax=180.0000 LongitudeStep=10.0000 \
                											                    Color="RED"

                											#send_world_map Coastlines=yes Rivers=yes Boundaries=yes  SendToMgraph=No\
                											#		CoastlineColor="green"  rivercolor=blue BoundaryColor="magenta"

                											send_world_map Coastlines=yes  Boundaries=yes  SendToMgraph=No\
                													CoastlineColor="green"   BoundaryColor="magenta" \
                											 		RiversRank1=yes RiversRank2=no RiversRank3=yes RiversRank4=no RiversRank5=yes RiversRank6=no \
                											 		ColorRank1= "Blue" ColorRank2= "Yellow" ColorRank3="Red" \
                											 		ColorRank4= "Magenta" ColorRank5= "Forest" ColorRank6= "White"

                											send_unset_verbose
                											    

MAPS.gif

Annexe B
Mpeg encode

NAME
mpeg_encode - mpeg-1 video stream encoder

SYNOPSIS
mpeg_encode [-stat stat_file] [-quiet num_seconds] [-no_frame_summary] [-gop gop_num] [-combine_gops] [-frames first_frame last_frame] [-combine_frames] [-nice] [-max_machines num_machines] [-snr] [-bit_rate_info rate_file] [-mv_histogram] param_file

DESCRIPTION
mpeg_encode produces an MPEG-1 video stream. param_file is a parameter file which includes a list of input files and other parameters. The file is described in detail below. The -gop, -combine_gops, -frames, and -combine_frames options are all exclusive. This man page is probably incomplete. For complete usage, see the User's Guide.

OPTIONS

-stat stat_file: causes the encoder to append the statistics to the file stat_file. In any case, the statistics are output to stdout. The statistics use the following abbreviations: bits per block (bpb), bits per frame (bpf), seconds per frame (spf), and bits per second (bps).

-quiet num_seconds: causes the program to not report remaining time for at least num_seconds seconds. A negative values tells the program not to report at all. 0 is the default (reports once after each frame). Note that the time remaining is an estimate and does not take into account time to read in frames.

-no_frame_summary: prevents the program from printing a summary line for each frame

-gop gop_num: causes the encoder to only encode the numbered GOP (first GOP is 0). The parameter file is the same as for normal usage. The output file will be the normal output file with the suffix ``.gop.<gop_num>'' No sequence info is output.

-combine_gops: causes the encoder to simply combine some GOP files into a single MPEG stream. A sequence header/ender are inserted. In this case, the parameter file need only contain the YUV_SIZE value, an output file, and perhaps a list of input GOP files (see below).

-frames first_frame last_frame: causes the encoder to only encode the frames from first_frame to last_frame, inclusive. The parameter file is the same as for normal usage. The output will be placed in separate files, one per frame, with the file names being the normal output file with the suffix ``.frame.<frame num>'' No GOP header information is output. (Thus, the parameter file need not include the GOP_SIZE value)

-combine_frames: causes the encoder to simply combine some frames into a single MPEG stream. Sequence and GOP headers are inserted appropriately. In this case, the parameter file need only contain the YUV_SIZE value, the GOP_SIZE value, an output file, and perhaps a list of frame files (see below).

-nice: causes the program to run any remote processes 'nicely.' This is only relevant if the program is using parallel encoding. (see 'man nice.')

-max_machines num_machines: causes the program to use no more than num_machines machines as slaves for use in parallel encoding.

-snr: print the signal-to-noise ratio. Prints SNR (Y U V) and peak SNR (Y U V) for each frame. In summary, prints averages of luminance only (Y). SNR is defined as 10*log(variance of original/variance of error). Peak SNR is defined as 20*log(255/RMSE). Note that the encoder will run a little slower if you want it to print the SNR.

-bit_rate_info rate_file: prints bit rate information into the file rate_file. Bit rate info is bits per frame, and also bits per I-frame-to-I-frame.

-mv-histogram: prints histogram of motion vectors as part of statistics. There are three histograms - one for P, forward B, and backward B vectors. Each histogram is a 2-dimensional array, and there is one entry for each vector in the search window.

PARAMETER FILE
The parameter file MUST contain the following lines (except when using the -combine_gops or -combine_frames options):

PATTERN<pattern>

OUTPUT<output file>

INPUT_DIR<directory>
all input files must reside in this directory. If you want to refer to the current directory, use '.' (an empty INPUT_DIR value would refer to the root directory).

INPUT
This line must be followed by a list of the input files (in display order) and then the line
END_INPUT
There are three types of lines between INPUT and END_INPUT. First, a line may simply be the name of an input file.

Secondly, the line may be of the form
<single_star_expr> [x-y]
single_star_expr can have a single '*' in it. It is replaced by all the numbers between x and y inclusive. So, for example, the line
tennis*.ppm [12-15]
is replaced by tennis12.ppm, tennis13.ppm, tennis14.ppm, tennis15.ppm. Uniform zero-padding occurs, as well. For example, the line
football.*.ppm [001-130]
is replaced by football.001.ppm, football.002.ppm, ..., football.009.ppm, football.010.ppm, ..., football.130.ppm. The third type of line is:
<single_star_expr> [x-y+s]
Where the line is treated exactly as above, except that we skip by s. Thus, the line
football.*.ppm [001-130+4]
is replaced by football.001.ppm, football.005.ppm, football.009.ppm, football.013.ppm, etc.

BASE_FILE_FORMAT<YUV or PPM or PNM>
All the input files must be converted to YUV, PNM, or PPM format. This line specifies which of the three formats (actually PPM is a subset of PNM). In the YUV format, the U and V components are subsampled 4:1. The reason for having a separate PPM option is for simplicity. If your files are RAWBITS ppm files, then use the PPM option rather than the PNM. Also, depending on the system, file reads will go much faster with the PPM option (as opposed to PNM).

INPUT_CONVERT<conversion command>
You must specify how to convert a file to the base file format. In the conversion command, each '*' is replaced by the filename (the items listed between INPUT and END_INPUT). If no conversion is necessary, then you would just say:
INPUT_CONVERT *
If you had a bunch of gif files, you might say:
INPUT_CONVERT giftoppm *
If you have a bunch of separate a.Y, a.U, and a.V files, then you might say:
INPUT_CONVERT cat *.Y *.U *.V

GOP_SIZE<n>
n is roughly the number of frames in a Group of Pictures (roughly because a GOP must begin with an I-frame)

SLICES_PER_FRAME<n>
n is roughly the number of slices per frame. Note, at least one MPEG player may complain if slices do not start at the left side of an image. To ensure this does not happen, make sure the number of rows is divisible by SLICES_PER_FRAME.

PIXEL<FULL or HALF>
use half-pixel motion vectors, or only full-pixel ones

RANGE<n>
use a search range of +/- n pixels

PSEARCH_ALG<algorithm>
algorithm must be one of EXHAUSTIVE, TWOLEVEL, SUBSAMPLE, LOGARITHMIC. Tells what kind of search procedure should be used for P-frames. Exhaustive gives the best compression, but logarithmic is the fastest. You select the desired combination of speed and compression. TWOLEVEL is an exhaustive full-pixel search, followed by a local half- pixel search around the best full-pixel vector (the PIXEL option is ignored for this search algorithm).

BSEARCH_ALG<algorithm>
algorithm must be one of SIMPLE, CROSS2, EXHAUSTIVE. Tells what kind of search procedure should be used for B- frames. Simple means find best forward and backward vectors, then interpolate. Cross2 means find those two vectors, then see what backward vector best matches the best forward vector, and vice versa. Exhaustive does an n- squared search and is EXTREMELY slow in relation to the others (Cross2 is about twice as slow as Simple).

IQSCALE<n>
use n as the qscale for I-frames

PQSCALE<n>
use n as the qscale for P-frames

BQSCALE<n>
use n as the qscale for B-frames

REFERENCE_FRAME<ORIGINAL or DECODED>
If ORIGINAL is specified, then the original images are used when computing motion vectors. To be more accurate, use DECODED, in which the decoded images are used. This should increase the quality of the image, but will take a bit longer to encode.
The following lines are optional:

FORCE_I_ALIGN
This option is only relevant for parallel execution (see below). It forces each processor to encode a block of N frames, where N must be a multiple of the pattern length. Since the first frame in any pattern is an I-frame, this forces each block encoded by a processor to begin with an I-frame.
foo

If the BASE_FILE_FORMAT is YUV, then the parameter file must contain:
YUV_SIZE <w>x<h>
where w = width, h = height (in pixels) of image If the -combine-gops option is used, then only the YUV_SIZE and OUTPUT values need be specified in the parameter file. In addition, the parameter file may specify input GOP files in the same manner as normal input files - except instead of using INPUT_DIR, INPUT, and END_INPUT, use GOP_INPUT_DIR, GOP_INPUT, and GOP_END_INPUT. If no input GOP files are specified, then the default is to use the output file name with suffix ``.gop.<gop_num>'' starting from 0 as the input files. If the -combine-frames option is used, then only the YUV_SIZE, GOP_SIZE, and OUTPUT values need be specified in the parameter file. In addition, the parameter file may specify input frame files in the same manner as normal input files - except instead of using INPUT_DIR, INPUT, and END_INPUT, use FRAME_INPUT_DIR, FRAME_INPUT, and FRAME_END_INPUT. If no input frame files are specified, then the default is to use the output file name with suffix ``.frame.<frame_num>'' starting from 0 as the input files. Any number of spaces and tabs may come between each option and value. Lines beginning with '#' are ignored. Any other lines are ignored except for those between INPUT and END_INPUT. This allows you to use the same parameter file for normal usage and for -combine_gops and -combine_frames. The encoder is case-sensitive so, except for file names and directories, everything should be in upper case. The lines may appear in any order, except the following exceptions. INPUT must appear before END_INPUT (also, GOP_INPUT before GOP_END_INPUT and FRAME_INPUT before FRAME_END_INPUT). All lines between INPUT and END_INPUT must be the frames in play order.

PARALLEL OPERATION
The encoder may be run on multiple machines at once. To do so, add a line ``PARALLEL'' in the parameter file, followed by a listing, one machine per line, then ``END_PARALLEL''. Each of the lines should be in one of two forms. If the machine has access to the file server, then the line should be: <machine> <user> <executable> The executable is normally mpeg_encode (you may need to give the complete path if you've built for different architectures). If the machine is a remote machine, then the line should be: REMOTE <machine> <user> <executable> <parameter file> Full paths should generally be used when describing executables and parameter files. This INCLUDES the parameter file given as an argument to the original call to mpeg_encode. Also, .rhosts files on the appropriate machines should have the appropriate information. The encoder will use the original machine for the master and I/O server processes, and uses the listed machines as slaves to do the computation. Optional lines are

RSH <remote shell command>
The encoder uses the remote shell command to start processes on other machines. The default command is 'rsh.' If your machine supports a different command, specify it here.

PARALLEL_TEST_FRAMES <n>
n is the number of frames to encode initially on each processor

PARALLEL_TIME_CHUNKS <t>
subsequently, each slave processor will be asked to encode for approximately t seconds. Smaller values of <t> increase communication, but improve load balancing.

The default values for these two options are n = 3 frames and t = 30 seconds.

PARALLEL_PERFECT
If this line is present, then scheduling is done on the assumption that work distribution will be perfectly even - meaning that each machine is about the same speed. The frames will simply be divided up evenly between the processors. This has the advantage of very minimal scheduling overhead, but is obviously wrong if machines have varying speeds, or if the network load makes performance uneven.

AUTHORS
Kevin Gong - University of California, Berkeley,
keving@cs.berkeley.edu

Ketan Patel - University of California, Berkeley,
kpatel@cs.berkeley.edu

Dan Wallach - University of California, Berkeley,
dwallach@cs.berkeley.edu

BUGS
No known bugs.

**********************************************************

AUTEURS

Gonzalez L.                 Deroo C.
Laboratoire d'Optique Atmosphérique
Université des Sciences et Technologies de Lille
U.F.R. de Physique Fondamentale
59655 Villeneuve d'Ascq Cedex
France
Email : sphinx@loa.univ-lille1.fr















Msphinx est disponible sur:
https://www-loa.univ-lille1.fr/Msphinx/


File translated from TEX by TTH, version 2.72.
On 28 Apr 2003, 15:46.

Télécharger

Fichier Plateforme / Type Taille Date
CYGWIN_INTEL_Msphinx.tar.gz Cygwin 108.29 MB 2008-09-16
ENGLISH_MANUAL_Msphinx.ps.gz Documentation 5.22 MB 2008-09-16
FRENCH_MANUAL_Msphinx.ps.gz Documentation 16.25 MB 2008-09-16
FRENCH_MANUAL_Mgraph.ps.gz Documentation 5.2 MB 2008-09-16
IBM_RS_V5.2_Msphinx.tar.gz IBM 114.91 MB 2008-09-16
LINUX_INTEL32_Msphinx.tar.gz Linux (Intel 32 bits) 262.33 MB 2008-09-16
LINUX_INTEL64_Msphinx.tar.gz Linux (Intel 64 bits) 174.47 MB 2008-09-16
MAC_OS_X_INTEL_Msphinx.tar.gz Mac OS X (Intel) 128.98 MB 2008-10-01
MAC_OS_X_Msphinx.tar.gz Mac OS X (PPC) 159.64 MB 2008-09-16
TUTOR_Msphinx.tar.gz Tutoriaux 9.14 MB 2008-09-16
WHAT_YOU_GOT LisezMoi 0.1 MB 2008-09-16

Obtenir une licence

Un formulaire d'enregistrement est disponible sur la page suivante.