image pixel value multiplication with constant using customized multiplier function

3 次查看(过去 30 天)
I loaded 4D image.tif (x,y,z over time/16bit gray scale) through Image J in Matlab.
  1. I'd like to change pixels using function and show reconstructed image.
For example, I have 512(x)*512(y)*5(z)*5(time) image and change to their each value of pixel using function. "Reconstructed pixel intensity(y)=Initial pixel intensity(x)*exp(0.5/t)" Then, it should show reconstructed image 512(x)*512(y)*5(z)*5(time).
Simple question but it's complicated for me.
What can I do for that?
You can find the example image the following link.
https://drive.google.com/file/d/1l7iEe8BZV3I5U2tqIoA2QtZEj_mbO5aH/view?usp=sharing
ImageJ
imp = ij.IJ.openImage('image path');
imp.show();
IJM.getDatasetAs('I');
[x y t]=size(I);
class(I);
newimage = zeros(size(I));
  2 个评论
Image Analyst
Image Analyst 2019-5-19
I don't understand. You don't have 3-D RGB images but you have 5-D images? Are your 5 Z indexes planes/slices in a 3-D volumetric image, like from CT or MRI? I understand having 5 t, or time point, images, but don't understand you have 5 indexes/slices/planes. Please explain.
Jaehwi Bong
Jaehwi Bong 2019-5-20
编辑:Jaehwi Bong 2019-5-21
I'm sorry I didn't explain correctly.
This image is obtained from a confocal microsope. I have 3D volumetric image. The number of pixels (x,y) is 512*512. And I have 5 z planes with 5 time point.
I'd like to change every each pixel value(intensity) using a funtion, A= I(t)-I(b)/exp(0.6*t), where I(t) is initial intensity as a funtion of time point, I(b) is the last image as a role of background, and A is the new value of intensity.
newimage = immultiply(I,0.6);
IJM.show('J')
I could change the pixels intensity using 'immultiply' with constant 0.6.
I don't know what to do in the case of function.

请先登录,再进行评论。

回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by