CNF Example Meshes

From crtc.cs.odu.edu
Revision as of 16:02, 2 June 2020 by Spyridon97 (talk | contribs) (3D Example Meshes)
Jump to: navigation, search

3D Example Meshes

The directory containing the 3D input data is located in the 3D folder of CNF_Data.

CFF_14052019

GPDGK16Numerical_140519

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive (min edge = 1): 273,716 tetrahedra
  • Adaptive (min edge = 2): 67,935 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/GPDGK16Numerical_140519.nrrd --cnf-uniform --output ./GPDGK16Numerical_140519,d=1,uniform.vtk

Adaptive (min edge = 1): Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/GPDGK16Numerical_140519.nrrd --cnf-adaptive --output ./GPDGK16Numerical_140519,d=5,wl=0.1,me=1.vtk

Adaptive (min edge = 2): Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/GPDGK16Numerical_140519.nrrd --cnf-adaptive --min-edge 2 --output ./GPDGK16Numerical_140519,d=5,wl=0.1,me=2.vtk

GPDMMS13_140519

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive: 264,762 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/GPDMMS13_140519.nrrd --cnf-uniform --output ./GPDMMS13_140519,d=1,uniform.vtk

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/GPDMMS13_140519.nrrd --cnf-adaptive --weight-limit 0.05 --output ./GPDMMS13_140519,d=5,wl=0.05,me=1.vtk

GPDVGG99_140519

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive: 261,485 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/GPDVGG99_140519.nrrd --cnf-uniform --output ./GPDVGG99_140519,d=1,uniform.vtk

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/GPDVGG99_140519.nrrd --cnf-adaptive --weight-limit 0.05 --output ./GPDVGG99_140519,d=5,wl=0.05,me=1.vtk

NT_140519

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive (min edge = 1): 253,965 tetrahedra
  • Adaptive (min edge = 2): 120,168 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/NT_140519.nrrd --cnf-uniform --output ./NT_140519,d=1,uniform.vtk

Adaptive (min edge = 1): Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/NT_140519.nrrd --cnf-adaptive --weight-limit 0.07 --output ./NT_140519,d=5,wl=0.07,me=1.vtk

Adaptive (min edge = 2): Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/NT_140519.nrrd --cnf-adaptive --weight-limit 0.07 --min-edge 2 --output ./NT_140519,d=5,wl=0.07,me=2.vtk

OBS_ALU_140519

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive: 259,269 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/OBS_ALU_140519.nrrd --cnf-uniform --output ./OBS_ALU_140519,d=1,uniform.vtk

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/OBS_ALU_140519.nrrd --cnf-adaptive --weight-limit 0.13 --output ./OBS_ALU_140519,d=5,wl=0.13,me=1.vtk

OBS_CS_140519

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive: 25,168 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/OBS_CS_140519.nrrd --cnf-uniform --output ./OBS_CS_140519,d=1,uniform.vtk

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/OBS_CS_140519.nrrd --cnf-adaptive --weight-limit 0.01 --output ./OBS_CS_140519,d=5,wl=0.01,me=1.vtk

CFF_DATA

cff_E.data_IM

  • Input Image
  • Input distribution size: 8,000,000 cells
  • Uniform: 745,291 tetrahedra
  • Adaptive: 358,637 tetrahedra
  • Adaptive: 358,637 tetrahedra (other side of the same adaptive case)

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_E.data_IM.nrrd --cnf-uniform --output ./cff_E.data_IM,d=2,uniform.vtk

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_E.data_IM.nrrd --cnf-adaptive --weight-limit 0.01 --output ./cff_E.data_IM,d=10,wl=0.01,me=2.vtk

cff_E.data_REAL

  • Input Image
  • Input distribution size: 8,000,000 cells
  • Uniform: 745,291 tetrahedra
  • Adaptive: 314,990 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_E.data_REAL.nrrd --cnf-uniform --output ./cff_E.data_REAL,d=2,uniform.vtk

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_E.data_REAL.nrrd --cnf-adaptive --output ./cff_E.data_REAL,d=10,wl=0.1,me=2.vtk

cff_H.data_IM

  • Input Image
  • Input distribution size: 8,000,000 cells
  • Uniform: 745,291 tetrahedra
  • Adaptive: 289,855 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_H.data_IM.nrrd --cnf-uniform --output ./cff_H.data_IM,d=2,uniform.vtk

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_H.data_IM.nrrd --cnf-adaptive --weight-limit 0.05 --output ./cff_H.data_IM,d=10,wl=0.05,me=2.vtk

cff_H.data_REAL

  • Input Image
  • Input distribution size: 8,000,000 cells
  • Uniform: 745,291 tetrahedra
  • Adaptive: 372,016 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_H.data_REAL.nrrd --cnf-uniform --output ./cff_H.data_REAL,d=2,uniform.vtk

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_H.data_REAL.nrrd --cnf-adaptive --output ./cff_H.data_REAL,d=10,wl=0.1,me=2.vtk

cff_Ht.data_IM

  • Input Image
  • Input distribution size: 8,000,000 cells
  • Uniform: 745,291 tetrahedra
  • Adaptive: 337,772 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_Ht.data_IM.nrrd --cnf-uniform --output ./cff_Ht.data_IM,d=2,uniform.vtk

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_Ht.data_IM.nrrd --cnf-adaptive --output ./cff_Ht.data_IM,d=10,wl=0.1,me=2.vtk

cff_Ht.data_REAL

  • Input Image
  • Input distribution size: 8,000,000 cells
  • Uniform: 745,291 tetrahedra
  • Adaptive: 394,632 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_Ht.data_REAL.nrrd --cnf-uniform --output ./cff_Ht.data_REAL,d=2,uniform.vtk

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_Ht.data_REAL.nrrd --cnf-adaptive --output ./cff_Ht.data_REAL,d=10,wl=0.1,me=2.vtk

DATA_04252019

CFF_E_im

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive: 236,512 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/CFF_E_im.nrrd --cnf-uniform --output ./CFF_E_im,d=1,uniform.vtk

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/CFF_E_im.nrrd --cnf-adaptive --weight-limit 0.04 --output ./CFF_E_im,d=5,wl=0.04,me=1.vtk

CFF_E_re

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive: 260,349 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/CFF_E_re.nrrd --cnf-uniform --output ./CFF_E_re,d=1,uniform.vtk

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/CFF_E_re.nrrd --cnf-adaptive --weight-limit 0.08 --output ./CFF_E_re,d=5,wl=0.08,me=1.vtk

CFF_H_im

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive: 263,040 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/CFF_H_im.nrrd --cnf-uniform --output ./CFF_H_im,d=1,uniform.vtk

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/CFF_H_im.nrrd --cnf-adaptive --weight-limit 0.06 --output ./CFF_H_im,d=5,wl=0.06,me=1.vtk

CFF_H_re

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive: 249,257 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/CFF_H_re.nrrd --cnf-uniform --output ./CFF_H_re,d=1,uniform.vtk

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/CFF_H_re.nrrd --cnf-adaptive --weight-limit 0.13 --output ./CFF_H_re,d=5,wl=0.13,me=1.vtk

GPD_H_down

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive: 300,117 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/GPD_H_down.nrrd --cnf-uniform --output ./GPD_H_down,d=1,uniform.vtk

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/GPD_H_down.nrrd --cnf-adaptive --output ./GPD_H_down,d=5,wl=0.1,me=1.vtk

GPD_H_up

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive: 295,671 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/GPD_H_up.nrrd --cnf-uniform --output ./GPD_H_up,d=1,uniform.vtk

Adaptive:Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/GPD_H_up.nrrd --cnf-adaptive --output ./GPD_H_up,d=5,wl=0.1,me=1.vtk

OBS_ALU

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform with background-value = 0: 301,772 tetrahedra
  • Adaptive with background-value = 0: 279,721 tetrahedra
  • Uniform with background-value = default: 768,033 tetrahedra
  • Adaptive with background-value = default: 284,256 tetrahedra

Commands to generate meshes:

Uniform with background-value = 0: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/OBS_ALU.nrrd --cnf-uniform --background-value 0 --output ./OBS_ALU,d=1,bv=0,uniform.vtk

Adaptive with background-value = 0: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/OBS_ALU.nrrd --cnf-adaptive --background-value 0 --weight-limit 0.07 --output ./OBS_ALU,d=5,bv=0,wl=0.07,me=1.vtk

Uniform with background-value = default: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/OBS_ALU.nrrd --cnf-uniform --output ./OBS_ALU,d=1,uniform.vtk

Adaptive with background-value = default: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/OBS_ALU.nrrd --cnf-adaptive --weight-limit 0.07 --output ./OBS_ALU,d=5,wl=0.07,me=1.vtk

Note: In this case, we want to exclude the entries with value 0 (lower part, see figure) since they are not of interest. Using the flag --background-value 0, the entries are excluded from mesh generation. This allows reducing the number of cells by 70% for the uniform case and 30% for the adaptive.

phase_space_000

phase_space_000

  • Input Image
  • Input distribution size: 15,625 cells
  • Uniform: 17,961 tetrahedra
  • Adaptive: 10,593 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/phase_space_000/phase_space_000.nrrd --delta 0.25 --cnf-uniform --output ./phase_space_000,d=0.25,uniform.vtk

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/phase_space_000/phase_space_000.nrrd --delta 2 --cnf-adaptive --weight-limit 0.004 --min-edge 2 --output ./phase_space_000,d=2,wl=0.004,me=2.vtk

2D Example Meshes

The directory containing the 2D input data is located in the 2D folder of CNF_Data.

Synthetic Gaussian Data

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 30,949 triangles
  • Adaptive: 3,788 triangles

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate2d  --input ./CNF_Data/2D/Gaussian2.vtk  --output Gaussian_me_10_uniform.vtk --uniform --min-edge=10

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate2d  --input ./CNF_Data/2D/Gaussian2.vtk  --output Gaussian_me_10_wl_1e-1.vtk --weight-limit=0.05 --min-edge=10

GPDGK16Numerical_140519

The 2D case created by extracting a 2D slice at X=50 out of the 3D distribution (see 3D case below) GPDGK16Numerical_140519

  • Input Image
  • Input distribution size: 10,000 cells
  • Uniform: 7,587 triangles
  • Adaptive (min edge = 2): 623 triangles
  • Adaptive (min edge = 0.5): 1,409 triangles

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate2d  --input ./CNF_Data/2D/GPDGK16Numerical_140519_X50.vtk --output GPDGK16Numerical_140519_me_2_uniform.vtk --min-edge=2 --uniform

Adaptive (min edge = 2): Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate2d  --input ./CNF_Data/2D/GPDGK16Numerical_140519_X50.vtk --output GPDGK16Numerical_140519_me_2_wl_1e-1.vtk --min-edge=2 --weight-limit=0.1


Adaptive (min edge = 0.5): Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate2d  --input ./CNF_Data/2D/GPDGK16Numerical_140519_X50.vtk --output GPDGK16Numerical_140519_me_0.5_wl_1e-1.vtk --min-edge=0.5 --weight-limit=0.1

Note: By using min-edge less than 1 we are essentially generating triangles with an edge smaller than the input pixels. Using values much smaller than 1 is not expected to help the discretization since we are essentially packing more element into a pixel which has a constant value.

NT_140519

The 2D image was created by extracting a 2D slice at X=50 out of the 3D distribution (see 3D case below) NT_140519

  • Input Image
  • Input distribution size: 10,000 cells
  • Uniform: 7,587 triangles
  • Adaptive: 1,038 triangles

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate2d  --input ./CNF_Data/2D/NT_140519_50_X.vtk  --output NT_140519_X50_me_2_uniform.vtk --min-edge=2 --uniform

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate2d  --input ./CNF_Data/2D/NT_140519_50_X.vtk  --output NT_140519_X50_me_2_wl_1e-1.vtk --min-edge=2 --weight-limit=0.1

OBS_ALU_Y50

The 2D image was created by extracting a 2D slice at Y=50 out of the 3D distribution (see 3D case below) OBS_ALU

  • Input Image
  • Input distribution size: 10,000 cells
  • Uniform: 7,587 triangles
  • Adaptive: 1,018 triangles

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate2d  --input ./CNF_Data/2D/OBS_ALU_Y50.vtk --output OBS_ALU_Y50_me_2_uniform.vtk --min-edge=2 --uniform

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate2d  --input ./CNF_Data/2D/OBS_ALU_Y50.vtk --output OBS_ALU_Y50_me_2_wl_1e-1.vtk --min-edge=2 --weight-limit=0.1