Lepio.  v0.1a
Visualizador de archivos Dicom.
Referencia de la Clase Lepio.Components.Texture3DGenerator

Componente encargado de generar una Textura3D a partir de un conjunto de imagenes o de un archivo .dcm Más...

Herencias MonoBehaviour.

Métodos públicos

void LoadTexture (string directory)
 TODO Más...
 
void LoadAsynchronousFromImages (string directory)
 Inicia la carga asincrona de la textura3D desde un directorio de imagenes Más...
 
void LoadSynchronousFromImages (string directory)
 Inicia la carga sincrona de la Textura3D desde un directorio de imagenes Más...
 
IEnumerator LoadAsynchronousFromDicom (string directory)
 Carga asíncrona de la textura3D a partir de la ruta del directorio donde están el/los archivo/s Dicom Más...
 
void LoadSynchronousFromDicom (string directory)
 Carga síncrona de la textura3D a partir de la ruta del directorio donde están el/los archivo/s Dicom Más...
 

Métodos privados

void Start ()
 Carga el componente CrossSectionVariables y crea la carpeta de donde se leen archivos si no existe. Más...
 
void UploadTexture3D (Texture3D _texture3D)
 Actualiza la Textura3D del cubo y de los planos Más...
 
Color32 [] GenerateAlphaArray (int x, int y)
 Genera un array de Color32 de tamaño x*y cuyos elementos son todo colores transparentes Más...
 
Texture2D MakeBorder (Texture2D t2D, Color32[] AlphaImage)
 Hace un marco de 1 pixel de grosor alrededor de la imagen con pixeles transparentes Más...
 
Texture2D AlphaCutoff (Texture2D t2D, float alpha, bool fromAlpha=true)
 Hace transparentes todos los pixeles que estén por debajo de un imbral Más...
 
int Max (int a, int b, int c)
 Devuelve el mayor de los tres valores Más...
 
double Max (double a, double b, double c)
 Devuelve el mayor de los tres valores Más...
 
string FileType (string path)
 Devuelve la extensión de los archivos que se encuentran en el directorio. Más...
 
IEnumerator LoadTexture3DFromImages (string directoryPath)
 Genera una Textura3D a partir de las imagenes en un directorio y lo carga en el cubo y en los planos de CrossSection Más...
 
Texture2D LoadImage (string imagePath)
 Genera una textura2D a partir de la direccion de una imagen Más...
 
IEnumerator Load3DFrom2DArrayAsync (Texture2D[] _frames, DicomLoader dl)
 Genera una textura3D a partir de un array de texturas2D (Dicom) asíncronamente y la carga en los materiales. Más...
 
Texture3D Load3DFrom2DArraySync (Texture2D[] _frames, DicomLoader dl)
 Genera una textura3D a partir de un array de texturas2D (Dicom) Más...
 
string GetDicomPath (string directory)
 Extrae la ruta del primer archivo que se encuentra en la ruta del directorio Más...
 
string [] GetDicomPaths (string directory)
 Extrae un array con las rutas de los archivos que se encuentran en la ruta del directorio Más...
 

Atributos privados

GameObject _cube
 Cubo donde se va a hacer el raymarch (Dentro del objeto interactivo) Más...
 
GameObject _coronal
 GameObject del plano coronal. Más...
 
GameObject _sagital
 GameObject del plano sagital. Más...
 
GameObject _transversal
 GameObject del plano transversal. Más...
 
Material _NoVOILUTMat
 Material con shader que no hace voi lut. Más...
 
Material _DefaultVOILUTMat
 Material con shader que hace el voi lut por defecto. Más...
 
Material _NoVOILUTMatCoronal
 Material con shader que no hace voi lut en el plano Coronal. Más...
 
Material _DefaultVOILUTMatCoronal
 Material con shader que hace el voi lut por defecto en el plano Coronal. Más...
 
Material _NoVOILUTMatSagital
 Material con shader que no hace voi lut en el plano Sagital. Más...
 
Material _DefaultVOILUTMatSagital
 Material con shader que hace el voi lut por defecto en el plano Sagital. Más...
 
Material _NoVOILUTMatTransversal
 Material con shader que no hace voi lut en el plano Transversal. Más...
 
Material _DefaultVOILUTMatTransversal
 Material con shader que hace el voi lut por defecto en el plano Transversal. Más...
 
Color32 AlphaColor32 = new Color32(0, 0, 0, 0)
 Color transparente (Componente alfa = 0) Más...
 
readonly float ALPHA_CUTOFF = 0.1f
 Limite superior del alfa para hacer el alpha cutoff Más...
 
float imageZScale = 1
 Factor por el cual se multiplica la escala z al generar la textura3D a partir de un conjunto de imagenes. Más...
 
LoadingBar _lb
 Componente Loading bar que muestra el progreso de la cagra. Más...
 
CrossSectionVariables CSVariables
 Componente encargado de las variables y texturas de los planos de CrossSection Más...
 

Descripción detallada

Componente encargado de generar una Textura3D a partir de un conjunto de imagenes o de un archivo .dcm

Se encuentra como componente de "Control".

Documentación de las funciones miembro

◆ AlphaCutoff()

Texture2D Lepio.Components.Texture3DGenerator.AlphaCutoff ( Texture2D  t2D,
float  alpha,
bool  fromAlpha = true 
)
private

Hace transparentes todos los pixeles que estén por debajo de un imbral

Parámetros
t2DTextura2D a modificar
alphaUmbral de alfa 0-1
fromAlphaSi es true se compara con el alfa, si es false, con el rojo
Devuelve
Textura2D ya tratada

◆ FileType()

string Lepio.Components.Texture3DGenerator.FileType ( string  path)
private

Devuelve la extensión de los archivos que se encuentran en el directorio.

Parámetros
pathRuta completa del directorio.
Devuelve
String que contiene la extensión del archivo, ej: ".dcm", "Multiple" si hay distintos tipos de archivos, o "Empty" si el directorio está vacío.

◆ GenerateAlphaArray()

Color32 [] Lepio.Components.Texture3DGenerator.GenerateAlphaArray ( int  x,
int  y 
)
private

Genera un array de Color32 de tamaño x*y cuyos elementos son todo colores transparentes

Parámetros
xDimension 1
yDimension 2
Devuelve
Array de Color32 con elementos transparentes

◆ GetDicomPath()

string Lepio.Components.Texture3DGenerator.GetDicomPath ( string  directory)
private

Extrae la ruta del primer archivo que se encuentra en la ruta del directorio

Parámetros
directoryRuta completa del directorio donde vamos a buscar un archivo
Devuelve
String que contiene la ruta del primer archivo

◆ GetDicomPaths()

string [] Lepio.Components.Texture3DGenerator.GetDicomPaths ( string  directory)
private

Extrae un array con las rutas de los archivos que se encuentran en la ruta del directorio

Parámetros
directoryRuta completa del directorio donde vamos a buscar los archivos
Devuelve
String que contiene la ruta del primer archivo

◆ Load3DFrom2DArrayAsync()

IEnumerator Lepio.Components.Texture3DGenerator.Load3DFrom2DArrayAsync ( Texture2D []  _frames,
DicomLoader  dl 
)
private

Genera una textura3D a partir de un array de texturas2D (Dicom) asíncronamente y la carga en los materiales.

Parámetros
_framesArray de texturas2D
dlInstancia de DicomLoader del que estamos generando la textura.

◆ Load3DFrom2DArraySync()

Texture3D Lepio.Components.Texture3DGenerator.Load3DFrom2DArraySync ( Texture2D []  _frames,
DicomLoader  dl 
)
private

Genera una textura3D a partir de un array de texturas2D (Dicom)

Parámetros
_framesArray de texturas2D
dlInstancia de DicomLoader del que estamos generando la textura.
Devuelve
Textura3D generada a partir del array

◆ LoadAsynchronousFromDicom()

IEnumerator Lepio.Components.Texture3DGenerator.LoadAsynchronousFromDicom ( string  directory)

Carga asíncrona de la textura3D a partir de la ruta del directorio donde están el/los archivo/s Dicom

Si solamente hay un archivo en la carpeta creara un cubo de una sección de grosor y si hay mas de uno combinará todos los archivos en una misma Textura3D.

Parámetros
directoryRuta completa del directorio donde están el/los archivos Dicom

◆ LoadAsynchronousFromImages()

void Lepio.Components.Texture3DGenerator.LoadAsynchronousFromImages ( string  directory)

Inicia la carga asincrona de la textura3D desde un directorio de imagenes

Parámetros
directoryDirectorio en el que se van a buscar las imagenes

◆ LoadImage()

Texture2D Lepio.Components.Texture3DGenerator.LoadImage ( string  imagePath)
private

Genera una textura2D a partir de la direccion de una imagen

Parámetros
imagePathRuta completa de la imagen
Devuelve
Textura2D con la imagen cargada

◆ LoadSynchronousFromDicom()

void Lepio.Components.Texture3DGenerator.LoadSynchronousFromDicom ( string  directory)

Carga síncrona de la textura3D a partir de la ruta del directorio donde están el/los archivo/s Dicom

Si solamente hay un archivo en la carpeta creara un cubo de una sección de grosor y si hay mas de uno combinará todos los archivos en una misma Textura3D.

Parámetros
directoryRuta completa del directorio donde están el/los archivos Dicom

◆ LoadSynchronousFromImages()

void Lepio.Components.Texture3DGenerator.LoadSynchronousFromImages ( string  directory)

Inicia la carga sincrona de la Textura3D desde un directorio de imagenes

Parámetros
directoryDirectorio en el que se van a buscar las imagenes

◆ LoadTexture()

void Lepio.Components.Texture3DGenerator.LoadTexture ( string  directory)

TODO

Parámetros
directory

◆ LoadTexture3DFromImages()

IEnumerator Lepio.Components.Texture3DGenerator.LoadTexture3DFromImages ( string  directoryPath)
private

Genera una Textura3D a partir de las imagenes en un directorio y lo carga en el cubo y en los planos de CrossSection

Parámetros
directoryPathRuta completa del directorio donde están las imagenes
Devuelve

◆ MakeBorder()

Texture2D Lepio.Components.Texture3DGenerator.MakeBorder ( Texture2D  t2D,
Color32 []  AlphaImage 
)
private

Hace un marco de 1 pixel de grosor alrededor de la imagen con pixeles transparentes

Parámetros
t2DTextura2D a tratar
AlphaImageArray de pixeles transparentes
Devuelve
Textura2D con un marco de 1 pixel transparente

◆ Max() [1/2]

int Lepio.Components.Texture3DGenerator.Max ( int  a,
int  b,
int  c 
)
private

Devuelve el mayor de los tres valores

Parámetros
aValor 1
bvalor 2
cValor 3
Devuelve
Maximo valor de los tres parametros

◆ Max() [2/2]

double Lepio.Components.Texture3DGenerator.Max ( double  a,
double  b,
double  c 
)
private

Devuelve el mayor de los tres valores

Parámetros
aValor 1
bvalor 2
cValor 3
Devuelve
Maximo valor de los tres parametros

◆ Start()

void Lepio.Components.Texture3DGenerator.Start ( )
private

Carga el componente CrossSectionVariables y crea la carpeta de donde se leen archivos si no existe.

◆ UploadTexture3D()

void Lepio.Components.Texture3DGenerator.UploadTexture3D ( Texture3D  _texture3D)
private

Actualiza la Textura3D del cubo y de los planos

Parámetros
_texture3DTextura que se pasa a los shaders

Documentación de los datos miembro

◆ _coronal

GameObject Lepio.Components.Texture3DGenerator._coronal
private

GameObject del plano coronal.

◆ _cube

GameObject Lepio.Components.Texture3DGenerator._cube
private

Cubo donde se va a hacer el raymarch (Dentro del objeto interactivo)

◆ _DefaultVOILUTMat

Material Lepio.Components.Texture3DGenerator._DefaultVOILUTMat
private

Material con shader que hace el voi lut por defecto.

◆ _DefaultVOILUTMatCoronal

Material Lepio.Components.Texture3DGenerator._DefaultVOILUTMatCoronal
private

Material con shader que hace el voi lut por defecto en el plano Coronal.

◆ _DefaultVOILUTMatSagital

Material Lepio.Components.Texture3DGenerator._DefaultVOILUTMatSagital
private

Material con shader que hace el voi lut por defecto en el plano Sagital.

◆ _DefaultVOILUTMatTransversal

Material Lepio.Components.Texture3DGenerator._DefaultVOILUTMatTransversal
private

Material con shader que hace el voi lut por defecto en el plano Transversal.

◆ _lb

LoadingBar Lepio.Components.Texture3DGenerator._lb
private

Componente Loading bar que muestra el progreso de la cagra.

◆ _NoVOILUTMat

Material Lepio.Components.Texture3DGenerator._NoVOILUTMat
private

Material con shader que no hace voi lut.

◆ _NoVOILUTMatCoronal

Material Lepio.Components.Texture3DGenerator._NoVOILUTMatCoronal
private

Material con shader que no hace voi lut en el plano Coronal.

◆ _NoVOILUTMatSagital

Material Lepio.Components.Texture3DGenerator._NoVOILUTMatSagital
private

Material con shader que no hace voi lut en el plano Sagital.

◆ _NoVOILUTMatTransversal

Material Lepio.Components.Texture3DGenerator._NoVOILUTMatTransversal
private

Material con shader que no hace voi lut en el plano Transversal.

◆ _sagital

GameObject Lepio.Components.Texture3DGenerator._sagital
private

GameObject del plano sagital.

◆ _transversal

GameObject Lepio.Components.Texture3DGenerator._transversal
private

GameObject del plano transversal.

◆ ALPHA_CUTOFF

readonly float Lepio.Components.Texture3DGenerator.ALPHA_CUTOFF = 0.1f
private

Limite superior del alfa para hacer el alpha cutoff

◆ AlphaColor32

Color32 Lepio.Components.Texture3DGenerator.AlphaColor32 = new Color32(0, 0, 0, 0)
private

Color transparente (Componente alfa = 0)

◆ CSVariables

CrossSectionVariables Lepio.Components.Texture3DGenerator.CSVariables
private

Componente encargado de las variables y texturas de los planos de CrossSection

◆ imageZScale

float Lepio.Components.Texture3DGenerator.imageZScale = 1
private

Factor por el cual se multiplica la escala z al generar la textura3D a partir de un conjunto de imagenes.