Este código depende das seguintes bibliotecas:
 libmac6903 (biblioteca da disciplina MAC6903, incluída)
 lis (Linear Iterative Solver) - versão 1.2.109 (não incluída)

A biblioteca lis pode ser encontrada neste endereço:
http://www.ssisc.org/lis/

Para compilar:
make

Para executar o programa:

O arquivo run.sh contém uma linha de comando de exemplo.
Na pasta "data" da versão 2d existe um exemplo bem pequeno 
de uma "imagem" 4x4, com valor 0 em todos os pixels, 
conforme um exemplo exibido no artigo Random Walks for 
Image Segmentation, onde aparece como um pequeno circuito.

A versão 3d é similar. A principal diferença está no 
formato do arquivo de entrada dos rótulos, que é uma 
lista dos voxels marcados, com a posição do voxel, 
um id do traço (usado pela interface do BIA), e o 
id do rótulo. Também há um exemplo na pasta data.

Os argumentos do arquivo binário produzido para a versão 2d são:
-l <arquivo_de_rotulos.pgm>
    Onde o arquivo é uma imagem PGM com valor zero 
    nos pixels que precisam ser segmentados e de
    1 a N nos pixels dos N rótulos.
-k N
    Número N de rótulos na segmentação.
-i <arquivo_de_entrada.pgm>
    Arquivo com a imagem a ser segmentada, no formato PGM.
-o <arquivo_de_saida.pgm>
    Arquivo com o resultado da segmentação. Os pixels
    possuem valores de 1 a N, de acordo com o rótulo ao
    qual foram atribuídos.

Os argumentos do arquivo binário produzido para a versão 3d são:
-l <arquivo_de_rotulos.txt>
    Onde o arquivo é uma lista de voxels marcados com
    sua posição, um id do número do traço (usado na interface
    do BIA), e o id do rótulo. O id do rótulo tem valor zero
    nos voxels que precisam ser segmentados e de
    1 a N nos voxels dos N rótulos.
-k N
    Número N de rótulos na segmentação.
-i <arquivo_de_entrada.scn>
    Arquivo com o volume a ser segmentado, no formato SCN.
-o <arquivo_de_saida.scn>
    Arquivo com o resultado da segmentação. Os voxels
    possuem valores de 1 a N, de acordo com o rótulo ao
    qual foram atribuídos.
