Cloned library of VTK-5.0.0 with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

66 lines
1.5 KiB

package require vtk
package require vtkinteraction
# Performs a correlation in frequency domain.
vtkImageCanvasSource2D s1
s1 SetScalarTypeToFloat
s1 SetExtent 0 255 0 255 0 0
s1 SetDrawColor 0
s1 FillBox 0 255 0 255
s1 SetDrawColor 2.0
s1 FillTriangle 10 100 190 150 40 250
vtkImageCanvasSource2D s2
s2 SetScalarTypeToFloat
s2 SetExtent 0 31 0 31 0 0
s2 SetDrawColor 0.0
s2 FillBox 0 31 0 31
s2 SetDrawColor 2.0
s2 FillTriangle 10 1 25 10 1 5
vtkImageFFT fft1
fft1 SetDimensionality 2
fft1 SetInputConnection [s1 GetOutputPort]
fft1 ReleaseDataFlagOff
# Pad kernel out to same size as image.
vtkImageConstantPad pad2
pad2 SetInputConnection [s2 GetOutputPort]
pad2 SetOutputWholeExtent 0 255 0 255 0 0
vtkImageFFT fft2
fft2 SetDimensionality 2
fft2 SetInputConnection [pad2 GetOutputPort]
fft2 ReleaseDataFlagOff
# conjugate is necessary for correlation (not convolution)
vtkImageMathematics conj
conj SetOperationToConjugate
conj SetInput1 [fft2 GetOutput]
# Corrleation is multiplication in frequencey space.
vtkImageMathematics mult
mult SetOperationToComplexMultiply
mult SetInput1 [fft1 GetOutput]
mult SetInput2 [conj GetOutput]
vtkImageRFFT rfft
rfft SetDimensionality 2
rfft SetInputConnection [mult GetOutputPort]
vtkImageExtractComponents real
real SetInputConnection [rfft GetOutputPort]
real SetComponents 0
vtkImageViewer viewer
viewer SetInputConnection [real GetOutputPort]
viewer SetColorWindow 256
viewer SetColorLevel 127.5
# make interface
source [file join [file dirname [info script]] WindowLevelInterface.tcl]