compustar

Iris : deconvflat sur un lot d'images

Messages recommandés

salut,
je cherche a utiliser la commande deconvflat sur un lot d'images
pour accelerer mes traitements
au lieu de faire :
load image_1
deconvflat 0.0045
save @image_1

et refaire ça avec 50 images, c'est un peu rasoir

en "Basic" j'aurais fait :
for i=1 to 50
load image_i
deconvflat 0.0045
save @image_1: next i

mais sous Iris , je sais pas comment faire ??
des idées....

Partager ce message


Lien à poster
Partager sur d’autres sites
Salut,

j'ai eu le même problème pour utiliser fcorrel.
Les structures itérratives n'existent pas dans le langage script d'iris
La seule solution que j'ai trouvé est de d'écrire dans une feuille exel les 3 commandes, de les sélectionner, et de tirer les cellules de manières a ce qu'elles s'incréméntent automatiquement. Il suffit ensuite de faire un copier coller de toutes les cellules dans un fichier texte que l'on sauvegarde avec l'extension .pgm. (exemple "commande.pgm")

Ensuite sous iris, faire run commande et ca doit tourner....

Partager ce message


Lien à poster
Partager sur d’autres sites
salut brizhell

c'est exactement ce que je cherche a faire
je vais essayer avec Excel.
dommage que les iterations n'existent pas. a chaque fois, C.Buil a créé un fonction en double pour y remedier: comme unsharp et unsharp2 qui elle s'applique a un lot d'image
manque donc fcorrel2 et deconvflat2
@+
Merci
d'autres idées ...

Partager ce message


Lien à poster
Partager sur d’autres sites
l'idée etait bonne mais ça a ses limites
le load image s'incremente ainsi que le save image, donc nickel
mais le parametre derriere deconvflat s'incremente aussi
et ça je veux pas !!!

Partager ce message


Lien à poster
Partager sur d’autres sites
Bonjour,
la notion de boucle (For-Next) n'existe pas en script Iris.

Mais c'est tout simple:
tu dupliques tes commandes (50 fois 3 lignes) dans un fichier texte deconv50.pgm
et
tu le fais éxécuter dans la fenêtre Iris

Voila A+

Partager ce message


Lien à poster
Partager sur d’autres sites
oui, mais la variable i ne vas pas changer en fonction du nombre d'images que j'ai a traiter en dupliquant les lignes
@+

Partager ce message


Lien à poster
Partager sur d’autres sites
Re,
tu ne peux pas faire un fichier texte comme celui là:
load image_1
deconvflat 0.0045
save @image_1
load image_2
deconvflat 0.0045
save @image_2
load image_3
deconvflat 0.0045
save @image_3
......
......
......

Ah, c'est pas du C++ très structuré mais si cela correspond au besoin

A+

Partager ce message


Lien à poster
Partager sur d’autres sites
Allez, c'est bien parce que c'est toi et que tu sembles connaitre un peu la programmation.

Le truc le plus simple est d'utiliser le langage de commande DOS pour générer un fichier de commande pour IRIS.

Dans un fichier que tu nommes "iris_commande.bat", par exemple, que tu édites avec notepad, tu mets:
-------------------------------------------------
@echo off

rem Init
cls
set /a IMAX=50
set FILE=commands.pgm
if exist %FILE% del %FILE%
set I=1
echo Creation %FILE% from %I% to %IMAX% ...

rem Creation commandes
:boucle
echo load_image%I% >> %FILE%
echo deconvflat 0.0045 >> %FILE%
echo save @image_%I% >> %FILE%
echo. >> %FILE%
set /a I=I+1
if %I% LEQ %IMAX% goto :boucle

echo Creation %FILE% ok
pause
---------------------------------------------
Tu sauves le fichier, ouvre l'explorateur, double clique sur le fichier créé et une fenêtre s'ouvrira pour éxécuter ce programme et générer le fichier "commands.pgm" attendu.

Je fais cela depuis des années avec Iris (bon en plus j'ai des programmes en VBS).

Bon courage!


Marc
http://astrosurf.com/delcroix

Partager ce message


Lien à poster
Partager sur d’autres sites
bien sur que je peux le faire
mais je voulais eviter de taper 150 lignes
meme en faisant des copier coller, va falloir modifier toutes les lignes load et save
je cherchais un truc plus automatique, s'incrementant tout seul
je suis en train de regarder mes vieux listing en QuickBasic, et vais essayer de faire ça.
ça permettrait aussi de choisir le nombre d'images et le numero de l'image de depart et d'arrivée

Peut etre dans la prochaine version D'Iris....

Partager ce message


Lien à poster
Partager sur d’autres sites
Merci Marc,

j'avais pas pensé aux commandes Dos, completement oubliées et pourtant utilisées pendant des années...c'est tout a fait ce que je voulais faire. j'avais déja lancé le Quickbasic et commencé a saisir un bout de programme !!
j'en reste la . je vais utiliser ta solution
Je pense que ça peut servir a plusieurs d'entre nous
@+
Bruno

Partager ce message


Lien à poster
Partager sur d’autres sites
Re,
bien sûr en programmant Basic-Qb-VB rien ne t'empêche de générer avec des write/put/etc. tes lignes de commandes.
Ben y a plus qu'à et vive les boucles :d

Je pense que C Buil a mieux à faire....du 32 bits je crois

A+

Partager ce message


Lien à poster
Partager sur d’autres sites
Salut à tous,

En effet la solution exel incrémente toutes les lignes contenant des nombres. J'avais contourné ca en ne mettant pas le paramètre, et en utilisant la fonction "remplacer tout" du bloc note pour chaque commande.

Par contre merci a vous tous pour l'idée commande dos ainsi que iris looper !! C'est sacrément plus élégant que la bidouille exel ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites
Merci pour Iris Looper,pas mal cet utilitaire,je le mets de coté
Je reste sur le batch en commande dos de Marc qui me plait bien
@+

Partager ce message


Lien à poster
Partager sur d’autres sites
Content de voir que ma solution peut convenir à certains qui n'y aurait pas pensé. Au fait personnellement si je dois faire ce type de script, je ne m'embête pas avec la définition d'un nombre maximum, je teste l'existence des images:
-------------------------------------------------
@echo off

rem ***** Init *****
cls
set RACINE=image
set EXT=pic
set FILE=commands.pgm
if exist %FILE% del %FILE%
set I=1
echo Creation %FILE% from %I% to %IMAX% ...

rem ***** Creation commandes *****
:boucle
if not exist %IMAGE%%I%.%EXT% goto :endb

echo load %RACINE%%I% >> %FILE%
echo deconvflat 0.0045 >> %FILE%
echo save @%RACINE%_%I% >> %FILE%
echo. >> %FILE%

set /a I=I+1
goto :boucle

:endb
rem ***** Fin *****
set /A I=I-1
echo Creation %FILE% ok - Traitement de %I% images
pause
---------------------------------------------

Bon scripting!


Marc http://astrosurf.com/delcroix

Partager ce message


Lien à poster
Partager sur d’autres sites
Bonjour,

Pensez à programmer en structuré

- faites un sous programme sp.PGM de 3 lignes "iris" avec des $1 pour les numeros a substituer
- faites une suite de lignes Iris dans un fichier run SP 1, run SP 2
(vous verrez que cette suite de ligne peut même resservir en changeant le contenu de SP..

JPG

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant