5 de set. de 2010

Script Python para cortar todas imagens em um arquivo e salvar

'''
Created on 05/09/2010
@author: tiago buriol
'''
import os
import Image  # PIL - Python Image Library (instale via Sinaptyc)

diretorio = "/home/buriol/PYTHON_PROJECTS/CILAMCE2010/src/ReconstrCROPPED"
arquivos = os.listdir(diretorio)
arquivos.sort()  #ordena os arquivos pelo nome
n=0

# Corta imagens e salva
for arquivo in arquivos:
    fullpath = os.path.join(diretorio,arquivo)
    if os.path.isfile(fullpath):
        n = n + 1
        img = Image.open(fullpath)
        print "Lendo arquivo", n, "de", len(arquivos)
        im =  img.crop([0,0,128,128])
        im.save(os.path.join("/home/buriol/Imagens",arquivo), "BMP")

Visualizando tensores como elipsóides usando VTK e Python

# Biblioteca vtk para python
from vtk import *

# ENTRADA DE DADOS
# Pontos
points = vtkPoints()
points.SetNumberOfPoints(3)
points.InsertPoint(0,76.3221,77.55,6.51956)
points.InsertPoint(1,76.61,77.2565,6.48612)
points.InsertPoint(2,77.2707,76.61,6.44554)
# Tensores
dbar = vtkDoubleArray()
dbar.SetNumberOfTuples(3)
dbar.SetNumberOfComponents(9)
dbar.InsertTuple9(0,-1.15233,0.0831558,0.0469417,0.0831558,-1.25721,0.10167,0.0469417,0.10167,-1.10715)
dbar.InsertTuple9(1,-1.18056,0.0817272,0.016076,0.0817272,-1.32675,0.125833,0.016076,0.125833,-1.15438)
dbar.InsertTuple9(2,-1.18056,0.0817272,0.016076,0.0817272,-1.32675,0.125833,0.016076,0.125833,-1.15438)

# PROCESSAMENTO PARA GERAR OS GLIFOS
# Polydata
indata = vtkPolyData()
indata.SetPoints(points)
indata.GetPointData().SetTensors(dbar)
# Codigo para uma esfera
src = vtkSphereSource()
src.SetThetaResolution(16)
src.SetPhiResolution(16)
# glifos
epp = vtkTensorGlyph()
epp.SetInput(indata)
epp.SetSourceConnection(src.GetOutputPort())
epp.SetScaleFactor(1)
epp.ClampScalingOn()
#epp.SymmetricOn()
epp.ColorGlyphsOff()
epp.ThreeGlyphsOff()
epp.ExtractEigenvaluesOn()
epp.SetColorModeToEigenvalues()
# Mapeador para os dados
map = vtkPolyDataMapper()
map.SetInputConnection(epp.GetOutputPort())

# VISUALIZACAO
# Ator
elactor = vtkActor()
elactor.SetMapper(map)
# Renderizador
renderer = vtkRenderer()
renderer.AddActor(elactor)
# Janela
renderWindow = vtkRenderWindow()
renderWindow.AddRenderer( renderer )
# Interador
interactor = vtkRenderWindowInteractor()
interactor.SetRenderWindow(renderWindow)
interactor.Initialize()
interactor.Start()

17 de ago. de 2010

Habilitando as três NVidia GeForce GTX280 no Ubuntu 9.04

.
Primeiramente, foi necessário achar o "endereço" do barramento de cada placa fazendo:

$ sudo lspci

que forneceu a seguinte saída (somente a parte que interessa):

...
02:02.0 PCI bridge: nVidia Corporation Device 05b1 (rev a2)
03:00.0 VGA compatible controller: nVidia Corporation GT200 [GTX280] (rev a1)
04:00.0 VGA compatible controller: nVidia Corporation GT200 [GTX280] (rev a1)

05:0b.0 FireWire (IEEE 1394): VIA Technologies, Inc. VT6306 Fire II IEEE 1394 OHCI Link Layer Controller (rev c0)
06:00.0 Audio device: Creative Labs [X-Fi Titanium series] EMU20k2 (rev 03)
07:00.0 VGA compatible controller: nVidia Corporation GT200 [GTX280] (rev a1)

...

Então alterei o arquivo xorg-config fazendo:

$ sudo gedit /etc/X11/xorg.conf
Alterando as seções "Device" da placa de vídeo como segue:

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 280"
    BusID          "PCI:3:0:0"
    Screen          0
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 280"
    BusID          "PCI:3:0:0"
    Screen          1
EndSection

Section "Device"
    Identifier     "Device2"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 280"
    BusID          "PCI:4:0:0"
EndSection

Section "Device"
    Identifier     "Device3"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 280"
    BusID          "PCI:7:0:0"
EndSection



Para o sistema detectar as 3 placas GTX280 tive que alterar o arquivo  menu.lst, do grub, fazendo:

$ sudo gedit /boot/grub/menu.lst

e adicionando a parte em negrito mostrada abaixo

title        Ubuntu 9.04, kernel 2.6.28-19-generic
uppermem 524288
uuid        efe8ac3e-d12d-43b9-9f15-2df7836e7c1d
kernel        /boot/vmlinuz-2.6.28-19-generic root=UUID=efe8ac3e-d12d-43b9-9f15-2df7836e7c1d ro quiet splash vmalloc=256MB pci=nommconf
initrd        /boot/initrd.img-2.6.28-19-generic
quiet

Depois de reiniciar, digitei no console os seguintes comandos

$ sudo nvidia-xconfig --multigpu=on
$ sudo nvidia-xconfig --sli=on

 
Depois de reiniciar novamente apareceu as três placas no painel de nvidia-settings.


19 de mai. de 2010

Script Python parta mudar extensão e nomes de arquivos em um diretório

#--------------------------------------------------------------------
# renomeia.py
#
# Script Python para modificar a extensao de aquivos em um diretorio
# e mudar o nome
#
# Uso:
# Defina o diretorio, a extensão que quer retirar e a nova extensao, que
# pode ser vazia (" ").
# Por exemplo:
# diretorio = "/home/gildo/imagens"
# extensao = ".*JPEG" (para retirar as extensoes ".dcm", nao esqueca o asterisco)
# novaExtensao = ".jpg" (nesse caso eh vazia, mas poderia ser ".raw", por ex.)
#--------------------------------------------------------------------

import re
import string
import os

# Coloque os seus parametros aqui...
diretorio = "/BACKUP/DICOM_FILES/AMNESIX"
extensao = ".*dcm"
novaExtensao = " "  # nesse caso eh vazia
parteQueSai = "IM-0001-"
parteQueSubstitui = "slice"

# Muda extensao
reg = re.compile(extensao)
if os.path.isdir(diretorio) and not os.path.islink(diretorio):
    arquivos = os.listdir(diretorio)
    for arquivo in arquivos:
        newExt = re.compile(extensao).match
        if newExt(arquivo):
            c = os.path.splitext(arquivo)
            b = c[0] + novaExtensao
            a = os.path.join(diretorio,arquivo)
            b = os.path.join(diretorio,b)
            os.rename(a,b)

# Modifica nome
if os.path.isdir(diretorio) and not os.path.islink(diretorio):
    arquivos = os.listdir(diretorio)
    for arquivo in arquivos:
    print arquivo
        novoNome = string.replace(arquivo, parteQueSai, parteQueSubstitui)
        fullpathOld = os.path.join(diretorio,arquivo)
        fullpathNew = os.path.join(diretorio,novoNome)
        os.rename(fullpathOld, fullpathNew)



# Hasta...

27 de abr. de 2010

Lista de Peródicos

The MIDAS Journal is an Open Access on-line publication covering different domains from Visualization to Image processing.
The unique characteristics of the MIDAS Journal include:
-Open-access to articles and reviews
-Open peer-review that invites discussion between reviewers and authors
-Support for continuous revision of articles, code, and reviews

http://www.midasjournal.org/

28 de mar. de 2010

Intalando e configurando o Stardict com dicionarios do Babylon no Ubuntu 9.10

...

1 - Baixar os dicionário do Babylon (Pt/En e En/Pt) nos links:


http://go2.wordpress.com/?id=725X1342&site=joaoolavo.wordpress.com&url=http%3A%2F%2Finfo.babylon.com%2Fglossaries%2F38C%2FBabylon_English_Portuguese.BGL

e

http://go2.wordpress.com/?id=725X1342&site=joaoolavo.wordpress.com&url=http%3A%2F%2Finfo.babylon.com%2Fglossaries%2F38C%2FBabylon_English_Portuguese.BGL


ou, pelo terminal:

#wget http://info.babylon.com/glossaries/38C/Babylon_English_Portuguese.BGL
#wget http://info.babylon.com/glossaries/4EA/Babylon_Portuguese_English_dic.BGL

Os arquivos virão no formato .exe, que nada mais é que um arquivo compactado como o ZIP ou RAR. Basta clicar com o botão direito nos arquivos, extrair o conteúdo deles e os dicionários BGL aparecerão.


2 - Instalar o conversor de formatos dos dicionários
$ sudo apt-get install dictconv



3 - Convertendo os dicionários para o formato do Stardict
#sudo ./dictconv Babylon_English_Portuguese.BGL -o Babylon_English_Portuguese.ifo

Se você obtiver uma saída como abaixo obteve sucesso!

  Results
  File: Babylon_English_Portuguese.ifo
  Title: Babylon English-Portuguese
  Author: Babylon Ltd.
  Email: linguistic-support@babylon.com
  Version:
  License:
  Description: This comprehensive English-Portuguese dictionary
  contains words, phrases, abbreviations & acronyms. It includes
  terms from a vast variety of subjects, such as Medicine,
  Electronics, Zoology, Business, Computers, Religion, etc., and
  features both the American and British forms of spelling.
  Original Language: English
  Destination Language: Portuguese
  Headwords: 144759
  Words: 144759


Com isso serão gerados 3 arquivos:

    * Babylon_English_Portuguese.dict
    * Babylon_English_Portuguese.idx
    * Babylon_English_Portuguese.ifo


4 - Instalação

Agora, precisamos finalmente comprimir o dicionário com o dictzip, que foi instalado quando instalamos o stardict-tools. Vamos lá:

#sudo dictzip Babylon_English_Portuguese.dict


E agora movemos nosso mais novo dicionário para o diretório do stardict no sistema como root:

#sudo  rm Babylon_English_Portuguese.BGL
# mv Babylon_English_Portuguese.* /usr/share/stardict/dic/

Se iniciarmos agora o Stardict ele já estará carregando nosso novo dicionário.


Fontes:
http://joaoolavo.wordpress.com/2007/12/26/dicionarios-do-babylon-rodando-no-linux/

http://www.vivaolinux.com.br/artigo/Configurando-o-Stardict-com-dicionario-do-Babylon?pagina=3

1 de mar. de 2010

Tela preta no Youtube usando o Ubuntu

Se o seu Ubuntu está com o plugin do Flash Player "acanalhado", só aparece uma tela preta quando você vai assistir um vídeo, experimente os comandos abaixo

sudo apt-get remove swfdec-mozilla
sudo apt-get remove mozilla-plugin-gnash
sudo apt-get remove adobe-flashplugin
sudo apt-get remove flashplugin-nonfree
sudo apt-get install flashplugin-nonfree

Funciona como mágica!

Fonte: http://ubuntuforums.org/showthread.php?s=5b9eca584f1c3e2a8c7446eb56b2381d&t=854891&page=2