#!/usr/bin/env python
# encoding: utf-8
#****************************************************************
#*
#* MODULE: r.in.rgb
#*
#* AUTHOR(S): Martin Laloux
#*
#* PURPOSE: Charge directement le raster en couleur en éliminant les bandes RGB = r.in.gdal + r.composite + g.remove
#*
#* COPYRIGHT: (C) 2012 Martin Laloux
#* Louvain-la-Neuve, Belgique
#*
#*
#* First Version: 2012/04/16
#*
#*
#* This program is free software under the
#* GNU General Public License (>=v2).
#* Read the file COPYING that comes with GRASS
#* for details.
#*
#****************************************************************
#%module
#% description: Charge directement un raster couleur (RGB)
#% keywords: raster
#%end
#%option
#% key: input
#% type: string
#% gisprompt: oldfile,file,dsn
#% answer: .
#% description: Input file
#% required : yes
#%end
#%option
#% key: output
#% type: string
#% gisprompt: oldraster,raster
#% description: Output raster base name
#% required : yes
#%end
#%flag
#% key: o
#% description: Override projection check
#%end
import sys, time
import grass.script as grass
def main():
# valeurs provenant de l'interface
entree = options['input']
sortie = options['output']
#drap = flags['o'] -> non utilisé ici
# charge le fichier en entrée, entree, vers la couche sortie
grass.run_command('r.in.gdal',flags='o', input=entree, output=sortie)
# recomposition du raster original: r.composite à partie de sortie.red, etc.
mapred = sortie+".red"
mapgreen = sortie+".green"
mapblue = sortie+".blue"
# fixation de la région sur une des couches couleurs
grass.run_command('g.region',rast=mapred)
grass.run_command('r.composite', red=mapred, green=mapgreen, blue=mapblue, output=sortie)
# élimination des couches red, green, blue
[grass.run_command('g.remove',rast=i) for i in [mapred,mapgreen,mapblue]]
# exécution
if __name__ == "__main__":
options, flags = grass.parser()
main()