Python Ambiente Numérico Interactivo

Introducción | Medio Ambiente | Funciones | Comandos | Ejemplos | Ayuda

Introducción

El ambiente Python de TerraLook ofrece acceso a los datos de imágen en un ambiente de escritura Python, con funciones matemáticas incorporadas (dadas por el módulo numérico Python). El Python Shell de TerraLook agrega una capa extra delgada de interpretación al python común, permitiendo que una sintaxis diferente sea utilizada para algunas funciones frecuentemente utilizadas y para la conveniencia de la escritura (ningún soporte). Las principales funciones de conveniencia (llamadas Comandos) se registran automáticamente cuando se lanza el ambiente Python y tienen más capacidades que las funciones regulares del python para revisar la infraestructura. Para ilustrar la diferencia entre el python y el comando sintaxis, el siguiente ejemplo muestra dos maneras de guardar una colección desde el ambiente del python a un archivo:

Python:

SaveArray(my_array,'my_filename')

Command:

save my_array my_filename

Los módulos de extensión con otros comandos se pueden registrar con el comando central loadtext , pero los comandos requieren un tiempo de procesamiento para implementarse y en la mayoría de los casos es preferible utilizar el sintaxis ordinario del python.

Si no estás familiarizado con Python o con el Python numérico (NumPy) aquí hay algunas referencias:

Ambiente

En el arranque (Desde el ítem del menú Editar/Python Shell) el ambiente Python automáticamente importa funciones desde Numeric y Gdalnuméric y registra los Comandos Centrales. Numeric ofrece el Python Numeric, mientras que Gdalnumeric ofrece funciones para acceder a los datos de imágenes de TerraLook.

El shell consiste en una ventana de entrada de comando (abajo) y en una ventana de salida (arriba). Aparte de los comandos registrados, se comporta de la misma forma que el comando intérprete de línea Python. Use las teclas con flechas de arriba y abajo para desplazarse a un previo comando de historia.

Funciones TerraLook

Además de las funciones importadas desde el python Numérico, el Python Shell de TerraLook incluye las siguientes funciones:

Comandos centrales

Los comandos hacen uso de una infraestructura que simplifica el uso y el acceso a ayuda para los procedimientos comúnmente usados y que interactúan con la aplicación principal de TerraLook o que describen el ambiente local. Estos comandos son interceptados y analizados de manera sintáctica antes de ser pasados al intérprete del Python Shell, mientras que son ingresados con el comando y los argumentos, separados por espacios y no por paréntesis y comas. Los comandos no se pueden cargar o usar en un Python Shell común; ellos sólo tienen significado dentro del contexto de TerraLook.

Lista de comandos centrales:

  1. newview- crea una nueva vista de TerraLook.
  2. view3d- exhibe un Digital Elevation Model (DEM) y cubre en el modo 3D en la vista actual de TerraLook.
  3. get- datos de la capa o vista actualmente activa de TerraLook.
  4. show- muestra una colección de Python Shell o una variable de GvShapes en una vista de TerraLook.
  5. clearview- limpia la vista actual de TerraLook
  6. save- guardar un array Python Shell o una variable GVshapes en una vista de TerraLook
  7. loadext- registra comandos desde un módulo de extensión (comando equivalente de la palabra clave de importación de python.
  8. macro- acciona una secuencia de comandos o declaraciones phyton desde un archivo de texto
  9. journal- guarda el texto ingresado en el comando de línea de Python Shell a un archivo de texto
  10. locals- enlista las variables locales de esta sesión y sus tipos de códigos
  11. help- muestra ayuda para una función o comando
  12. functions- enlista funciones cargadas de python o escanea un módulo para funciones
  13. commands- enlista comandos registrados.

Ejemplos

Aquí se encuentra un pequeño tutorial que ilustra el uso sencillo de python y de algunas de las funciones del python de TerraLook. Para un tutorial más completo, por favor diríjase a la página:www.python.org tutorial.

Ejemplo 1

Cargar un archivo en una colección numérica python:
    array1 = LoadFile(`filename.foo`)
Mostrar en la vista actual:
    display(array1)
Para obtener la Región de Interés (ROI) marcada en la imagen:

  1. Lanzar la entrada del menú Edición/ Editar barra de herramientas

  2. Seleccionar "Dibujar ROI" para activar la herramienta ROI.

  3. Usar la herramienta ROI para marcar una región (haga clic izquierdo para empezar a dibujar, arrastrar, liberar y finalizar)

  4. roi() ROI() regresa el ROI en ( x, y, ancho y alto)

Utilizar la herramienta ROI para llegar a un subarreglo::

  1. Marcar en ROI con la herramienta de imagen

  2. array2 = get_roi(array1)

Para guardar array2 a un nuevo archivo:

SaveArray(array2,'filename2.tif')
Las funciones numéricas de python como ones y array también se pueden usar para crear y manipular arreglos:

Crear un arreglo de punto flotante de unas 5 líneas y 6 columnas::

    array3=ones([5,6],Float)
Borrar filas 1 al 4, columnas 1 al 5 del arreglo con algunos valores:

    array3[1:5,1:6]=array([[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15],[16,17,18,19,20]],Float)
Cuádrelo:

    array3=power(array3,2)
Exhibir en la vista actual:

    display(array3)
Algunos puntos importantes para tener en cuenta son::

  1. El arreglo de python numérico es indexado desde cero.

  2. Al cortar un arreglo numérico python se usa para indexar rangos N;M elementos N+1…. M-1 son incluidos.

Ejemplo 2

Comenzamos con una Python Shell ( Edición-> Python Shell...... ítem menú). Usted debe cargar algún archivo raster dentro del trabajo con TerraLook

Ayuda Python Shell

El Python Shell utiliza tres comandos que proporcionan ayuda en funciones y comandos:
  1. help- muestra la ayuda para una función o comando
  2. commands- lista de comandos registrados
  3. functions- lista de funciones cargadas python
Estos comandos hacen uso de phyton_doc_ cadenetas y de cualquiera de los archivos de texto de ayuda que están registrados. Los archivos de texto de ayuda deben usarse sólo cuando existe alguna razón para no actualizar el python_string por sí solo (Ej. Si la documentación fuera a estar disponible en múltiples idiomas o si el paqueta es de una tercera parte y usted no quiere usar el doc. cadeneta). También, si la documentación python está bien pero es necesario mostrar ayudar para algunas funciones/comandos que no son cargados, por lo cual cambia la documentación (por lo menos para los lanzamientos). Los archivos de texto de ayuda pueden tener entradas de los siguientes tres formatos: El Python Shell utiliza tres comandos:
COMMAND_NAME=my_command
Module: my_module
Group: my_group
Html: my_html.html

documentation...

FUNCTION_NAME=my_func
Module: my_module
Html: my_html.html

documentation...

BUILTIN_NAME=my_builtin
Module: my_module
Html: my_html.html

documentation...
Donde my_command, my_func, y my_builtin son un comando de definido de usuario, función y de la función builtin (bound C), respectivamente. La entrada Html se usa para indicar un archivo html con más información y es opcional (actualmente la Python Shell no hará más con la información html, más que guardar el nombre del vínculo – esto podría ser usado en el futuro). El nombre del módulo se requiere para manejar el caso de dos módulos, definiendo diferentes comandos/funciones con el mismo nombre. El COMMAND_NAME, FUNCTION_NAME, BUILTIN_NAME, Módulo y las partes html del archivo de texto son sensibles a las mayúsculas (Ej. Un error ocurrirá si el caso no es como el de arriba). Mirar la función gvcorecmds.py's RegisterHelp para cómo registrar un archivo de ayuda con el intérprete (esta función determina la ubicación de gvcorecmds_help.txt, asumiendo que está en el mismo directorio que gvcorecmds_help.txt y sube el texto desde ahí, si está presente). La convención sugerida para archivos de ayuda de texto es que si son necesarios, ellos serán ubicados en el mismo directorio como los comandos/funciones con las que se relacionan. Tienen el mismo nombre como el módulo comando, menos el '.py', plus '_help.txt'.