convert image wave by a lookup wave
awirsing
IMPORTANT:
The function alters the image wave. So make sure to you work with duplicates.
function convertByLookUpWave(wave2d,lookupWave[,reverseColors])
wave wave2d // the wave to be transformed
wave lookupWave // the lookup wave that is used
variable reverseColors // pass reverseColors=1 if the original image is shown with a reversed color table
if(wavedims(wave2d)!=2)
print "Works only with 2-dimensional waves!"
return 0
endif
if(wavemin(lookupWave) < 0 || wavemax(lookupWave)>1)
print "Values of lookup wave must be in the range [0,1]!"
return 0
endif
duplicate/free lookupWave lw,dw
setscale/i x,0,1,dw
wavestats/q wave2d
if(reverseColors==1)
setscale/i x,V_max,V_min,lw
dw=V_max+x*(V_min-V_max)
else
setscale/i x,V_min,V_max,lw
dw=V_min+x*(V_max-V_min)
endif
wave2d = dw(lw(wave2d[p][q]))
end
wave wave2d // the wave to be transformed
wave lookupWave // the lookup wave that is used
variable reverseColors // pass reverseColors=1 if the original image is shown with a reversed color table
if(wavedims(wave2d)!=2)
print "Works only with 2-dimensional waves!"
return 0
endif
if(wavemin(lookupWave) < 0 || wavemax(lookupWave)>1)
print "Values of lookup wave must be in the range [0,1]!"
return 0
endif
duplicate/free lookupWave lw,dw
setscale/i x,0,1,dw
wavestats/q wave2d
if(reverseColors==1)
setscale/i x,V_max,V_min,lw
dw=V_max+x*(V_min-V_max)
else
setscale/i x,V_min,V_max,lw
dw=V_min+x*(V_max-V_min)
endif
wave2d = dw(lw(wave2d[p][q]))
end
Forum
Support
Gallery
Igor Pro 9
Learn More
Igor XOP Toolkit
Learn More
Igor NIDAQ Tools MX
Learn More