2001 DeltaViewer
1 1. 3 1.1 DeltaViewer 1.2 1.3 1.4 2. 5 3. 5 3.1 3.2 3.3 3.4 3.5 3.6 4. 14 4.1 4.2 4.3 5. 21 6. 22
DeltaViewer Open GL [1],[2],[3] DeltaViewer Leica ([URL1]) VoxelView([URL2]) VoxelView VoxelView VoxelView DeltaViewer Macintosh VoxelView DeltaViewer 1
2
1. 1.1.DeltaViewer 1 Bio-Rad Olympus Zeiss Leica Nikon TIFF BMP (Windows Bitmap) JPG GIF PSD (Adobe Photoshop) PCT (Macintosh QuickDraw) ([URL3],[URL4],[URL5],[URL6]) TIFF ([URL7],[5]) DeltaViewer TIFF TIFF RGB Full-color Palettecolor TIFF [A] 3
1.2. DeltaViewer abcd001.tif abcd 001.TIF abcd001.tif, abcd002.tif,abcd003.tif, DeltaViewer DeltaViewer 1.3. DeltaViewer File Open TIFF(RGB) SectionView Open TIFF(Red) Open TIFF(Green)Open TIFF(Blue) SectionView DeltaViewer TCS NT TIFF 4
5 1.4. RGB Full-color IFD Palette-color RGB Full-color IFD 2. 3. 3.1.
3.2. 3.1 Grayscale DeltaViewer 3.4 v0 v v1 3.2 3.2 v0v1 t0t1 v v t t v s = (t t0) / (t1 t0); v = (1.0 s) * v0 + s * v1; 6
3.3. DeltaViewer r, g, b, t r, g, b t t=+1 t=-1 t=+1 t=-1 t=0 DeltaViewer DeltaViewer 3.5 7
3.4 3.3(a) 3.3(b) 3.3 (a) 3.3 (b) 3.4. DeltaViewer ([4]) r,g,b t r i, g i, b i, t i i = 1,,n,, r,g,b 8
t V = V( R, G, B) = a( R r) + b( G g) + c( B b) + d (1) (1) Wrgb,,( R, G, B) = exp ( 2 2 ( R r) ( G g) ( B b) 2 2 2 α β γ E a,b,c n E = Wrgb,, ( ri, gi, bi ) ( V( ri, gi, bi) ti ) 2 i= 1 δe δe δe δe = = = (2) δa δb δc δd (1),(2) Srr Srg Srb Sr a S S S S b rg gg gb g Srb Sgb Sbb S b c = Sr Sg Sb S1 d 2 Srr = Wr, g, b( ri, gi, bi)( ri - r), n i=1 Srt S gt S bt S S = W ( r, g, b)( r - r)( g - g), n rr r, g, b i i i i i i= 1 S = W ( r, g, b)( r - r)( b - b), n rr r, g, b i i i i i i= 1 2 S = W ( r, g, b)( g - g), n rr r, g, b i i i i i= 1 S = W ( r, g, b)( g - g)( b - b), n rr r, g, b i i i i i i= 1 2 S = W ( r, g, b)( b - b), n rr r, g, b i i i i i= 1 S = W ( r, g, b)(r - r), n rr r, g, b i i i i i= 1 S = W ( r, g, b)(g - g), n rr r, g, b i i i i i= 1 t 2 ) 9
n S = W ( r, g, b)(b - b), rr r, g, b i i i i i= 1 S = W ( r, g, b), n rr r, g, b i i i i= 1 S = W ( r, g, b)( r - r) t, n rr r, g, b i i i i= 1 S = W ( r, g, b)( g - g) t, n rr r, g, b i i i i= 1 S = W ( r, g, b)( b - b) t, n rr r, g, b i i i i= 1 S = W ( r, g, b) t, n rr r, g, b i i i i= 1 t = d = i d1*s + d2 *S + d3*s + d4*s d1*s + d2 *S + d3*s + d4*s i i i rt gt bt t r g b 1 Srg Srb Sr Srr Srb Sr d1 = det Sgg Sgb S g d2 = det S S S rg gb g Sgb Sbb Sb S S S i i i rb bb b Srr Srg Sr d3 = det Srg Sgg S g Srb Sgb Sb S S S d4 =det S S S S S S rr rg rb rg gg gb rb gb bb v0r[0], G[0], B[0], T[0] v1r[1], G[1], B[1], T[1] v r01 = R[1] R[0]; g01 = G[1] G[0]; 10
b01 = B[1] B[0]; vr,g,b num = r01 * (r R[0]) + g01 * (g G[0]) + b01 * (b B[0]); den = r01 * r01 + g01 * g01 + b01 * b01; v t t = num / den; v v0 v1 t v v0 v1 v2 t 3.5. DeltaViewer 3.5(a) 3.5(b) 3.5 (a) 3.5 (b) 11
3.5 (a) (b) DeltaViewer (b) 4.1 DeltaViewer DeltaViewer mwidth mheight mnumdiv wmax wmax = mwidth; if (mheight > wmax) wmax = mheight; wmax div_size div_size = wmax / mnumdiv; div_size mnumdivwmnumdivh mnumdivw = lround(mwidth / div_size); mnumdivh = lround(mheight / div_size); mdivsizew mdivsizeh mdivsizew = mwidth / mnumdivw; mdivsizeh = mheight / mnumdivh; 500410 30 wmax 500.000 div_size 16.666 DivW 30.001 DivH 24.601 SizeW 16.666SizeH 16.665 SizeW SizeH 12
3.6. DeltaViewer alpha alpha=1 ii jj imin = lround(ii 2.0 * alpha); imax = lround(ii + 2.0 * alpha); jmin = lround(jj 2.0 * alpha); jmax = lround(jj + 2.0 * alpha); iijj r2 r2 = ((double)i ii) 2 + ((double)j jj) 2 ; w w = exp(- r2 / (alpha * alpha)); c ij rgbij c = w * rgb(i,j); iminiimaxjminjjmax w c ww += w; cc += c; color color = cc / ww; 13
4. 4.1. 3.5 3.5 6 4.11(a) 3 (v0, v1, v2, v2 )(v0, v1, v1, v2 )(v0, v0, v1, v2 ) 24 4.11(b) 6 4 v2 v0 v0 v1 v2 v3 v2 v0 v1 v4 v5 (a) (b) 4.11 512*512 60 25 4.12 14
(a) 4.12 (b) 6 24 4.11 v v 3 14 4 1 85 4.12 40 25 4.13 4.12(a) DeltaViewer 15
(a) 4.13 (b) 4.2. 4.22(a) v0 v v1 4.21 4.2 v0v1 t0t1 v v t v t 0 t0 t1 v t t 0.01 t v 16
t0 t1 v0 v1 v v t t > 0.01 v1 = v; t1 = t; t < -0.01 v0 = v; t0 = t; -0.01 t 0.01 v -0.01 t 0.01 v0 v1-0.01 t 0.01 4.22 (a) (b) 512*512 60 25 (a) 4.22 (b) 17
4.3. DeltaViewer t -0.01 t 0.01 k a k+1 k+1 b k k+1 a k 18
k a ij di dj 4.3 (i-1,j) (i,j) (0,j) (i-0.5*di,j-0.5*dj) (0,j-1) (i-1,j-1) (i,j-1) (0,1) (0,0) (i-1,0) (i,0) 4.3 i = 0j = 0 00 i i0 i-10 i0 t -0.01 t 0.01 i j 0j 0j-1 0j t -0.01 t 0.01 i ij i-0.5*dij-0.5*dj 19
i-1j ij ij-1 ij i-1j-1 i-0.5*dij-0.5*dj ij-1 i-0.5*dij-0.5*dj i-1j i-0.5*dij-0.5*dj ij i-0.5*dij-0.5*dj t -0.01 t 0.01 i j K+1 b 2 512*512 121 5 10 2 (1/60 / ) alpha = 1.0 alpha = 3.0 alpha = 5.0 211.7 2432.3 9572.8 82.0 462.3 1651.2 2 60%80% 472 3778 20
5. OpenGL Cull Face DisplayList Cull Face Display List OpenGL Display List 3Display List (1/60 / ) 1.7MB 13.1MB Display List 4.75 34.20 Display List 3.40 24.25 3 Display List % 21
6. [1]OpenGL Architecture Review Board OpenGL 2001 [2]OpenGL Architecture Review Board OpenGL 1999 [3] OpenGL3D 2000 [4]M, WadaA practical interpolation algorithm for small sample data [5]T, HoganThe programmer s APPLE MAC sourcebookmicrosoft Press1989 URL: [URL1] Leica MICROSYSTEMS http://www.leica-microsystems.com/ [URL2] http://www.rsi.co.jp/ [URL3] Bio-Rad Laboratories Inc. http://www.bio-rad.com/ [URL4] http://www.olympus.co.jp/ [URL5] http://www.zeiss.co.jp/ [URL6] http://www.nikon.co.jp/ [URL7] TIFF http://www.adobe.com/ http://www.libtiff.org/document.html 22
TIFF TIFF IFDImage File Directory IFD TIFF Part Size Field Header 2 bytes Byte Order 2 bytes Version 4 bytes Pointer to first Image File Directory IFD Directory Entry Directory Entry IFD IFD Part Size Field IFD 2 bytes Number of directory entries 12 bytes First directory entries 12 bytes each Additional directory entries 4 bytes Point to next directory Directory Entry Directory Entry Tag Tag Tag Directory Entry Directory Entry Directory Entry
Directory Entry Directory Entry Size Item 2 bytes Tag 2 bytes Type 4 bytes Length 4 bytes Pointer to value RGB Full-color Palette-color RGB Full-color R0,G0,B0,R1,G1,B1, R2,G2,B2,,Rn,Gn,Bn Palette-color RGB Full-color R0,R1,R2,,Rn,G0,G1,G2,,Gn,B0,B1,B2,,Bn 0,1,2,,n i i TIFF DeltaViewer RGB Full-color Palette-color Bilevel Grayscale Bilevel Grayscale
DeltaViewer (version1.3.1) DeltaViewer OpenGL STEP1 DeltaViewer TIFF RGB RGB abcd001.tif abcd 001.TIF abcd001.tif, abcd002.tif,abcd003.tif, SectionView OpenTIFF(color) color Red, Green, Blue, RGB RGB RGB OpenTIFF(Red) OpenTIFF(Green) OpenTIFF(Blue) OpenTIFF(RGB)
View Section SectionView SectionView
STEP 2 Option Option Shift SectionView SmoothnessDivision Orientation Smoothness alpha = 1 Division 10 alpha alpha Division Orientation SectionView
Flip Left/Right Flip Top/Bottom Flip Front/Rear STEP3 SectionView STEP1 SectionView 3DView Window 3DView
STEP 4 3DView 3DView 3DView 3DView SaveAs 3DView 3DView Open 3DView 3DView Color Control RGB Color Control Color Control
DeltaViewer (version1.3.1)menu List SectionView : Open TIFF(color) color Red,Green,Blue,RGB SectionView Red Green,Blue RGB Smoothness alpha 3.6. alpha = 1 Division 10 Orientation SectionView Flip Left/Right Flip Top/Bottom Flip Front/Rear Open 3DView Window SectionView
3DView : Open SaveAs 3DView Color Control 3DView RGB