Instalación#
Instalación de "Bundle"#
Esta la forma más sencilla si el "bundle" es el adecuado para el sistema operativo, porque todas las dependencias están incluidas dentro del paquete.
Descarga del "Bundle"#
Descargar el ZIP desde el repositorio indicado en "Download". Los paquetes disponibles se encuentran en la pestaña "Files"
y también con el botón verde "Download".
El nombre del paquete indica la versión de Stmani3 y el sistema operativo donde corre (donde se generó el paquete).
De momento solo existe este:
- bundle_stmani3_v6.31_linux_mint_20.1.zip
Instalación del "Bundle"#
-
Expandir el ZIP en cualquier directorio conveniente. Se creará un directorio como este:
bundle_stmani3_v6.31_linux_mint_20.1 ├── ............................. ├── ............................. ├── stmani3 ├── gen-render ├── gen-html5 ├── ............................. ├── .................... │ ├── .................... │ ├── .................... │ ├── .................... ├── .................... │ ├── .................... │ ├── .................... │ ├── ....................
-
Arrancar el programa:
Si el paquete se expandió, por ejemplo, en el directorio home, entonces el programa principal Stmani3 arrancará con este comando:~/bundle_stmani3_v6.31_linux_mint_20.1/stmani3
Los programas auxiliares de renderizado en batch gen-render y gen-html5 arrancan de la misma forma.
Si el programa arranca correctamente, creará un directorio de configuración si no existía antes (ver Directorio de Configuration)
Instalación desde la fuente#
Descarga de programa fuente#
Descargar un "Snapshot" desde la pestaña "Code" del repositorio indicado en "Download" arriba. Este es el repositorio GIT del código fuente.
Instalación de programa fuente#
Stmani3 es un programa en lenguaje Python 3.x que ha sido desarrollado y probado en un ordenador con Linux-Mint. En teoría debería funcionar en Windows, pero eso no está probado de momento.
Los pasos de instalación que se indican a continuación se han verificado en un sistema Linux Mint xcfe 19.3. Es posible que funcionen igual en Ubuntu 18.04, y en otros sistemas derivados de Debian (pero esto tampoco está verificado).
-
Descargar Stmani3 del enlace "Download", y descomprimirlo en algún directorio
-
Instalar dependencias del sistema: Interprete de Python 3.x (esta versión de Stmani3 no funciona con Python 2.x), instalador PIP, y otros módulos necesarios para la instalación:
sudo apt-get install python3 python3-pip virtualenv g++ python-all-dev libexiv2-dev libboost-python-dev
sudo apt-get install libimage-exiftool-perl trash-cli
-
cd <directorio de Stmani3>
(el directorio donde está stmani3.py) -
Crear un entorno virtual de Python3:
virtualenv -p python3 .venv
-
Activar el entorno virtual. Debe aparecer un prefijo "(.venv)" en la línea de promt:
source .venv/bin/activate
-
Instalar módulos de Python modules en el entorno virtual:
pip install -r requirements.txt
(ver posibles problemas) -
Arrancar Stmani3:
./stmani3.py
ópython3 ./stmani3.py
Para arrancar Stmani3 normalmente:
-
cd <directorio de Stmani3>
(el directorio donde está stmani3.py) -
Activar el entorno virtual. Debe aparecer un prefijo "(.venv)" en la línea de promt:
source .venv/bin/activate
-
Arrancar Stmani3:
./stmani3.py
ópython3 ./stmani3.py
O mejor arrancar usando este script:
#!/bin/bash
cd <directorio de Stmani3>
source .venv/bin/activate
python3 ./stmani3.py
Si el programa arranca correctamente, creará un directorio de configuración si no existía antes (ver Directorio de Configuration)
Posibles Problemas de Instalación#
- PyExiv2
El comandopip install py3exiv2
(que está incluido en la llamadapip install -r requirements.txt
) falla en ocasiones, debido a que se instala compilando lo que impone una dependencia de varias librerias. En concreto se ha visto que llama a la libreríalibboost
con un nombre equivocado.
Esto se resuelve creando un enlace simbólico en el directorio de librería con el nombre buscado por PIP:
cd /usr/lib/x86_64-linux-gnu
sudo ln -s libboost_python-py36.so libboost_python36.so
-
OpenCV
Algunas versiones de OpenCV no incluyen las funciones ORB y BFMatcher, que son necesarias para el posicionamiento automático de Puntos Homólogos. Stmani3 sería utilizable pero no funcionaría el alineamiento automático.
Para resolver esto podría ser necesario instalar OpenCV desde la fuente:
- config.dicc
Si los paths de Fonts y programas externos en~/.stmani/config.dicc
no fueran correctos, Stmani3 emitiría un mensaje de aviso. Funcionaría pero sin algunas funciones.
Se debe corregir modificando las líneas necesarias de config.dicc
Directorio de Configuración#
Al llamar a Stmani3 por primera vez se crea un directorio oculto en el directorio de usuario:
/home/<nombre de usuario>/.stmani
= ~/.stmani
. Allí se crean los ficheros:
- config.dicc (Opciones de configuración)
- renders.dicc (Ver Diccionario de visores)
- ultima_sesion.dicc (Parámetros de última sesion)
De estos solo config.dicc interesa para la instalación.
config.dicc define varias opciones de funcionamiento:
- Idioma del programa (actualmente se puede elegir Castellano o Inglés).
- Formato de Fecha - Hora
- Inversión estéreo en modo entrelazado (Ver Renderizado Interactivo))
- Path de los Font a utilizar por Stmani3 (ver posibles problemas)
- Path de los programas externos exiftool, trash-put y restore-trash (ver posibles problemas)
config.dicc se carga inicialmente con este contenido por defecto:
{ "descr_por_defecto": "descripcion-.descr",
"formato_fecha_hora": [ "%Y-%m-%d %H:%M:%S",
"%Y-%m-%d_%H:%M:%S",],
"swap_entrelazado": False,
"fonts": {
"Linux": {
"path_fonts": "/usr/share/fonts/truetype/freefont",
"font": "FreeSerif.ttf",
#"font": "FreeSerifItalic.ttf",
"font_mono": "FreeMono.ttf" },
"Windows": {
"path_fonts": "c:\\WINDOWS\\Fonts",
"font": "ariali.ttf",
"font_mono": "cour.ttf" },
},
"apps": {
"Linux": {
"exiftool": "/usr/bin/exiftool",
"trash-put": "/usr/bin/trash-put",
"trash-restore": "/usr/bin/trash-restore",
},
"Windows": {
"exiftool": "C:\\Archivos de programa\\exiftool\\exiftool.exe",
"trash-put": None,
"restore-trash": None,
},
},
"language": "en" # "cs" Castellano, "en" English,
}
NOTA: los apartados de "Windows" sugieren que Stmani3 funciona en Windows, pero desafortunadamente es solo un intento fallido.
Idioma#
Stmani3 puede funcionar en Castellano o en Inglés, cambiando una línea de ~/.stmani/config.dicc
:
Castellano: language": "cs"
Inglés: language": "en"
Organización de Directorios#
Directorio de Trabajo único#
- Todos los ficheros de imagen iniciales deben estar en un único directorio.
- Los ficheros creados por Stmani3 (*.pair, *.lstpair, *.descr), se guardan también en este directorio
- NOTA: Los ficheros más importantes generados por Stmani3 son los *.pair que
son pequeños ficheros de texto. Cada *.pair corresponde a un par de imágenes
(aunque puede ser también una única imagen),
y contiene todos los parámetros de alineamiento angular.
Los ficheros *.pair y sus imágenes correspondientes son la base para renderizar imágenes estéreo en una variedad de formatos y tamaños.
Las imágenes renderizadas se cargan en un directorio temporal.
Preparación inicial de Imágenes en el Directorio de Trabajo:#
-
Stereo con una sola cámara (cha-cha, W3, etc): Cargar todas las imágenes sin renombrar
-
Rigs Stereo de dos cámaras. Se necesita una clave que identifique el lado:
-
Rigs SDM: Nombres con claves STL / STR (Debería generarlas la propia cámara SDM)
-
Otros: Se necesita renombrar las imágenes:
-
Cámara Izquierda: Añadir apéndice "-I" ó "-L"
-
Cámara Derecha: Añadir apéndice "-D" ó "-R"
-
-
Directorio Temporal#
Puede ser /tmp/stmani/
o /var/tmp/stmani/
Se usa para cargar las imágenes renderizadas.
NOTA: Es un directorio que se borra periódicamente por el sistema operativo
Directorio de Papelera#
En Linux Mint es /.Trash-nnnn/
donde nnnn
es la id de usuario
Está situado en el raíz de la partición del directorio de Trabajo
Los directorios de Configuración y Temporal se muestran pulsando el botón "Ayuda" -> "Sobre Stmani3"