mtools/devb97ef7bb51aamaster
dev
Readme
BUT : traitement d'image
montage de films titres, etc.
- fits -> png +- ok a) combinaison des images fits b) palette unique
- modification/combinaison d'images ok
- ajout de texte ok
- ajout d'une autre image sur l'image ok
- couper l'image ok
- redimentionner l'image ok
- coller des images ensemble (haut,bas,droite,gauche) +- ok (manque haut/bas)
- couper une image en deux ok, faisable... - deux images -> anaglyph ok - une image -> anaglyph ok, faisable, suffit de la couper (crop)
- montage de sequences + titre ok
- liste de repertoires d'images
- transition
- formation d'un film ok gmov2mov
- creation d'une palette ok gmkpalette
modification/combinaison d'images
idee :
scripts/mmkpalette -p rainbow4 --width=512 --height=50 -o palette.png
./test.py -o test.png /home/revaz/conferences/2009Malta/poster/old.graph/evolution/562z/00000100.png
creation de titre / generiques + montage
from a given image
setimage(img,x=x,y=y) wait(duration=10) move(direction='top',duration=10,speed=10) rotate(direction='right',duration=10,speed=10)
if also montage
add('tmp',shading=...) # here, we add or link the images in the ouput dir
- regarder aussi pNbody/exeamples
anaglyph :
Gtools-4.0/scripts/crossed2anaglyph /pNbody_4.0/bin/crossed2anaglyph glups-4.0/films/pygreyanaglyph.py
- ##############
export PNBODY="/home/revaz/pgm/python/pNbody-4.0" export PNBODY="/home/revaz/scratch/pNbody-4.0/"
create the polygons
$PNBODY/examples/movies/bin/mkpolygon.py --type cube --cmd="""nb.pos =(nb.pos*2000)+[1000,1000,1000]""" cube.dat $PNBODY/examples/movies/bin/mkpolygon.py --type cube --cmd="""nb.pos =(nb.pos*200)+[1000,1000,1000]""" cube.dat ./gsplitsegments -n 100 cube.dat -o cube.dat
create the tracks
$PNBODY/examples/movies/bin/gsplinetrk -s 0. -k 2 -n 2000 track/*.trk --dirname=newtrack00 --basename=trk $PNBODY/examples/movies/bin/gtrk2nbd newtrack00/*.trk --size "(1000,625)" --eye='both' --snapfiles="../snap/snapshot_*" glups --trk "newtrack00/*" snapshot_252.reduc.64
regor
screen mpirun --hostfile machine.mpi -n 33 python ~/gmkgmov.py -p filmparam.py -d ../snap ../snap/snapshot_*
fits+png for halo only
#rm fits/* png_g/* png_right/* png_left/* mpirun -np 3 python ./gmkgmov.py -p filmparam.py -d snap snap/snapshot_* ./gfits2png.py --dir png_right --params=fitsparam.py --comp1="fits/*_0000-all-*.fits" --comp2="fits/*_0000-all-*.fits" --comp3="fits/*_0000-all-*.fits" --comp4="fits/*_0000-all-*.fits" --comp5="fits/*_0000-all-*.fits" --comp6="fits/*_0000-all-*.fits" ./gfits2png.py --dir png_left --params=fitsparam.py --comp1="fits/*_0001-all-*.fits" --comp2="fits/*_0001-all-*.fits" --comp3="fits/*_0001-all-*.fits" --comp4="fits/*_0001-all-*.fits" --comp5="fits/*_0001-all-*.fits" --comp6="fits/*_0001-all-*.fits" ./gwrapimages.py png_left png_right -d png_g gmov2mov --dir png_g --only_film -o film.avi
fits+png for cube only
create fake nbody models ./gmknbody.py -n 253 -d snap -o snapshot_
#rm fits/* png_g/* png_right/* png_left/* ./gmkgmov.py -p filmparam-cube.py -d snap snap/snapshot_* ./gfits2png.py --dir png_right --params=fitsparam-cube.py --comp1="fits/*_0000-cube.dat-*.fits" --comp2="fits/*_0000-cube.dat-*.fits" --comp3="fits/*_0000-cube.dat-*.fits" --comp4="fits/*_0000-cube.dat-*.fits" --comp5="fits/*_0000-cube.dat-*.fits" --comp6="fits/*_0000-cube.dat-*.fits" ./gfits2png.py --dir png_left --params=fitsparam-cube.py --comp1="fits/*_0001-cube.dat-*.fits" --comp2="fits/*_0001-cube.dat-*.fits" --comp3="fits/*_0001-cube.dat-*.fits" --comp4="fits/*_0001-cube.dat-*.fits" --comp5="fits/*_0001-cube.dat-*.fits" --comp6="fits/*_0001-cube.dat-*.fits" ./gwrapimages.py png_left png_right -d png_g gmov2mov --dir png_g --only_film -o cube.avi
fits+png for both
rm png_g/* png_right/* png_left/* ./gfits2png.py --dir png_right --params=fitsparam.py --comp1="fits/*_0000-all-*.fits" --comp2="fits/*_0000-cube.dat-*.fits" --comp3="fits/*_0000-cube.dat-*.fits" --comp4="fits/*_0000-cube.dat-*.fits" --comp5="fits/*_0000-cube.dat-*.fits" --comp6="fits/*_0000-cube.dat-*.fits" ./gfits2png.py --dir png_left --params=fitsparam.py --comp1="fits/*_0001-all-*.fits" --comp2="fits/*_0001-cube.dat-*.fits" --comp3="fits/*_0001-cube.dat-*.fits" --comp4="fits/*_0001-cube.dat-*.fits" --comp5="fits/*_0001-cube.dat-*.fits" --comp6="fits/*_0001-cube.dat-*.fits" ./gwrapimages.py png_left png_right -d png_g gmov2mov --dir png_g --only_film -o film.avi
gmov2mov --only_film -d png_right/ --codec x264 -o film.avi gmov2mov --only_film -d png_g --codec x264 -o film_x264.avi
./gfits2png.py --dir png_right --params=fitsparam.py --comp1="fits/*0000-gas-*.fits" --comp2="fits/*0000-stars1-*.fits" --comp3="fits/*0000-halo1-*.fits" --comp4="fits/*0000-gas-*.fits" --comp5="fits/*0000-cube.dat-*.fits" --comp6="fits/*0000-gas-*.fits" ./gfits2png.py --dir png_left --params=fitsparam.py --comp1="fits/*0001-gas-*.fits" --comp2="fits/*0001-stars1-*.fits" --comp3="fits/*0001-halo1-*.fits" --comp4="fits/*0001-gas-*.fits" --comp5="fits/*0001-cube.dat-*.fits" --comp6="fits/*0001-gas-*.fits" ./gwrapimages.py png_left png_right -d png_g
gmov2mov --dir png_g --only_film -o film.avi
mplayer -fps 6 film.avi
title
./gmaketitle -d png_title title/title.png -k --dylab 40 --nofilm ./gmergepng.py -o png png_title png_right/
gmov2mov --only_film -d png --codec x264 -o B2Mpc3_right-x264.avi gavi2mp4 B2Mpc3_right-x264.avi B2Mpc3_right-x264.mp4 rm -rf png
$PNBODY/examples/movies/bin/mkpolygon.py --type cube --cmd="""nb.pos = nb.pos*10""" cube.dat
export PNBODY="/home/epfl/revaz/pgm/python/pNbody-4.0/"
glups ../dIrr-000/snap/snapshot_* --> glparameters
$PNBODY/examples/movies/bin/gtrk2nbd glparameters --eye='right' -o glparameters_right.nbd $PNBODY/examples/movies/bin/gtrk2nbd glparameters --eye='left' -o glparameters_left.nbd
rm fits/* png_g/* png_right/* png_left/* ./gmkgmov.py -p filmparam.py ../dIrr-001-8/snap/snapshot_*
./gfits2png.py --dir png_right --params=fitsparam.py --comp1="fits/*0000-gas-*.fits" --comp2="fits/*0000-stars1-*.fits" --comp3="fits/*0000-halo1-*.fits" --comp4="fits/*0000-gas-*.fits" --comp5="fits/*0000-cube.dat-*.fits" --comp6="fits/*0000-gas-*.fits" ./gfits2png.py --dir png_left --params=fitsparam.py --comp1="fits/*0001-gas-*.fits" --comp2="fits/*0001-stars1-*.fits" --comp3="fits/*0001-halo1-*.fits" --comp4="fits/*0001-gas-*.fits" --comp5="fits/*0001-cube.dat-*.fits" --comp6="fits/*0001-gas-*.fits" ./gwrapimages.py png_left png_right -d png_g
gmov2mov --dir png_g --only_film -o film.avi
mplayer -fps 6 film.avi
- temperature #### rm fits/* png_g/* png_right/* png_left/*
./gmkgmov.py -p filmparam-T.py ../dIrr-000/snap/snapshot_*
./gfits2png.py --dir png_right fits/*0000-gas-*.fits -p rainbow4 --mn 3 --mx 5 --scale lin --text """'Time = %4.1f Myr'%(header['TIME']*4.7/1000)""" ./gfits2png.py --dir png_left fits/*0001-gas-*.fits -p rainbow4 --mn 3 --mx 5 --scale lin --text """'Time = %4.1f Myr'%(header['TIME']*4.7/1000)""" ./gwrapimages.py png_left png_right -d png_g gmov2mov --dir png_g --only_film -o film-T.avi mplayer film-T.avi
- Fe ####
rm fits/* png_g/* png_right/* png_left/*
./gmkgmov.py -p filmparam-Fe.py ../dIrr-000/snap/snapshot_*
./gfits2png.py --dir png_right fits/*0000-gas-*.fits -p rainbow4 --mn -4 --mx 0 --scale lin --text """'Time = %4.1f Myr'%(header['TIME']*4.7/1000)""" ./gfits2png.py --dir png_left fits/*0001-gas-*.fits -p rainbow4 --mn -4 --mx 0 --scale lin --text """'Time = %4.1f Myr'%(header['TIME']*4.7/1000)""" ./gwrapimages.py png_left png_right -d png_g gmov2mov --dir png_g --only_film -o film-Fe.avi mplayer film-Fe.avi