/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E M U L T I P L E X A G E   ( 8 , 8 , 8 )   D ' U N E   I M A G E                                                        */
/*        E N   V R A I E S   C O U L E U R S   ( R , V , B )  :                                                                     */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Definition :                                                                                                               */
/*                                                                                                                                   */
/*                    Cette commande demultiplexe les trois                                                                          */
/*                  composantes 'RVB'.                                                                                               */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*             *     * * * * * *   * * * * * *   * * * * * *   *         *   * * * * * *   *   * * * * * *   *         *             */
/*                        *             *        *             **        *        *        *   *         *   **        *             */
/*            * *         *             *        *             * *       *        *        *   *         *   * *       *             */
/*                        *             *        *             *  *      *        *        *   *         *   *  *      *             */
/*           *   *        *             *        *             *   *     *        *        *   *         *   *   *     *             */
/*                        *             *        * * *         *    *    *        *        *   *         *   *    *    *             */
/*          * * * *       *             *        *             *     *   *        *        *   *         *   *     *   *             */
/*                        *             *        *             *      *  *        *        *   *         *   *      *  *             */
/*         *       *      *             *        *             *       * *        *        *   *         *   *       * *             */
/*                        *             *        *             *        **        *        *   *         *   *        **             */
/*        *         *     *             *        * * * * * *   *         *        *        *   * * * * * *   *         *             */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        ATTENTION :                                                                                                                */
/*                                                                                                                                   */
/*                    Il pourra etre necessaire de faire                                                                             */
/*                  avant '$xci/RVB_load$X' un 'SwapB' si                                                                            */
/*                  le fichier '$RVB' vient de '$CONVERT'                                                                            */
/*                  car, en effet, 'v $xci/RVB_load$K' lit                                                                           */
/*                  des images au format 'imageI' dont l'unite                                                                       */
/*                  est donc de type 'Int', alors que '$CONVERT'                                                                     */
/*                  ecrit les fichiers octets par octets, d'ou la                                                                    */
/*                  necessite de la permutation par 'SwapB', soit                                                                    */
/*                                                                                                                                   */
/*                                      $CONVERT --> SwapB --> $xci/RVB_load$X                                                       */
/*                                                                                                                                   */
/*                  donc...                                                                                                          */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xci/RVB_load$K' :                                                                                              */
/*                                                                                                                                   */
/*                    Jean-Francois COLONNA (LACTAMME, 20001102151437).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        I N T E R F A C E   ' listG '  :                                                                                           */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        :Debut_listG:                                                                                                              */
/*        :Fin_listG:                                                                                                                */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D I R E C T I V E S   S P E C I F I Q U E S   D E   C O M P I L A T I O N  :                                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        F I C H I E R S   D ' I N C L U D E S  :                                                                                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  INCLUDES_BASE
#include  image_image_QUAD_IMAGE_EXT

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        P A R A M E T R E S  :                                                                                                     */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   GENERER_UNE_IMAGE_EN_VRAIES_COULEURS                                                                                          \
                    VRAI                                                                                                                \
                                        /* Faut-il generer une image en vraies couleurs ('VRAI)' c'est-a-dire dont les trois         */ \
                                        /* composantes ont la meme racine, ou bien trois images "independantes" ('FAUX'). La         */ \
                                        /* valeur par defaut est choisie pour assurer la compatibilite anterieure...                 */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        M A C R O S   U T I L E S  :                                                                                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  xci/vraies_C.01.I"

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E M U L T I P L E X A G E   ( 8 , 8 , 8 )   D ' U N E   I M A G E                                                        */
/*        E N   V R A I E S   C O U L E U R S   ( R , V , B )  :                                                                     */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     DEFV(CHAR,INIC(POINTERc(nom_imageA),NOM_PIPE));
                                        /* Nom de l'image au format "RVB" a utiliser.                                                */
     DEFV(CHAR,INIC(POINTERc(nom_imagesR),NOM_PIPE));
     DEFV(CHAR,INIC(POINTERc(nom_imageR),NOM_PIPE));
                                        /* Nom de la racine d'une image en vraies couleurs.                                          */
     DEFV(CHAR,INIC(POINTERc(nom_imageRR),NOM_PIPE));
                                        /* Nom de l'image ROUGE a generer,                                                           */
     DEFV(CHAR,INIC(POINTERc(nom_imageRV),NOM_PIPE));
                                        /* Nom de l'image VERTE a generer,                                                           */
     DEFV(CHAR,INIC(POINTERc(nom_imageRB),NOM_PIPE));
                                        /* Nom de l'image BLEUE a generer.                                                           */
     DEFV(Logical,INIT(generer_une_image_en_vraies_couleurs,GENERER_UNE_IMAGE_EN_VRAIES_COULEURS));
                                        /* Faut-il generer une image en vraies couleurs ('VRAI)' c'est-a-dire dont les trois         */
                                        /* composantes ont la meme racine, ou bien trois images "independantes" ('FAUX'). La         */
                                        /* valeur par defaut est choisie pour assurer la compatibilite anterieure...                 */
     /*..............................................................................................................................*/
     GET_ARGUMENTSi(nombre_d_arguments
                   ,BLOC(GET_ARGUMENT_C("imageA=""A=",nom_imageA);
                         GET_ARGUMENT_C("imageR=""R=",nom_imageR);
                         GET_ARGUMENT_C("Rouge=""RR=""ROUGE=",nom_imageRR);
                         GET_ARGUMENT_C("Verte=""VERTE=""RV=",nom_imageRV);
                         GET_ARGUMENT_C("RB=""Bleue=""BLEUE=",nom_imageRB);
                         GET_ARGUMENT_L("RVB=",generer_une_image_en_vraies_couleurs);
                         )
                    );

     begin_nouveau_block
          Bblock
          BDEFV(imageUB,image_a_demultiplexer);
                                        /* Image a demultiplexer.                                                                    */

          Test(PAS_D_ERREUR(CODE_ERROR(IloadUB_image(image_a_demultiplexer,nom_imageA))))
               Bblock
               CALS(Idemultiplexage_888_RVB(Image_ROUGE,Image_VERTE,Image_BLEUE
                                           ,image_a_demultiplexer
                                            )
                    );
                                        /* Demultiplexage...                                                                         */

               GENERATION_D_UNE_COMPOSANTE(nom_imageRR,c_ROUGE,Image_ROUGE);
               GENERATION_D_UNE_COMPOSANTE(nom_imageRV,c_VERTE,Image_VERTE);
               GENERATION_D_UNE_COMPOSANTE(nom_imageRB,c_BLEUE,Image_BLEUE);
               Eblock
          ATes
               Bblock
               PRINT_ERREUR("le fichier recupere n'existe pas ou est d'un format incorrect");
               Eblock
          ETes

          EDEFV(imageUB,image_a_demultiplexer);
                                        /* Image a demultiplexer.                                                                    */
          Eblock
     end_nouveau_block

     RETU_Commande;
     Eblock
ECommande



Copyright © Jean-François COLONNA, 2019-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2019-2024.