f



How to model the X-ray imaging noise in Matlab?

Hi there,

I have got problems to model the X-ray imaging noise using Matlab.

1. What kind of noise in X-ray imaging? Gaussian or Poisson? I assume it is Poisson. 

2. How to model the noise? For example, I have some simulated CT data, i.e., forward projections of the simulated CT data. If these forward projections contains no noise now, then how to add noise to them and test my reconstruction?

I can imagine this might be what I should do:
>> J = imnoise(I,'poisson')
in which 'I' is the forward projections.

Am I right?

3. After I run the reconstruction from noisy forward projections J, may I ask how to calculate the SNR or CNR?


Any ideas would be appreciated. Thanks a lot.



Aaronne.
0
ggyyree (110)
1/4/2012 12:14:08 PM
comp.soft-sys.matlab 211266 articles. 25 followers. lunamoonmoon (257) is leader. Post Follow

3 Replies
572 Views

Similar Articles

[PageSpeed] 44

On 1/4/2012 6:14 AM, Aaronne wrote:
> Hi there,
>
> I have got problems to model the X-ray imaging noise using Matlab.
>
> 1. What kind of noise in X-ray imaging? Gaussian or Poisson? I assume it is Poisson.
>
> 2. How to model the noise? For example, I have some simulated CT data, i.e.,
>forward projections of the simulated CT data. If these forward projections contains
>no noise now, then how to add noise to them and test my reconstruction?
>
> I can imagine this might be what I should do:
>>> J = imnoise(I,'poisson')
> in which 'I' is the forward projections.
>
> Am I right?
>
> 3. After I run the reconstruction from noisy forward projections J, may I ask how to calculate the SNR or CNR?
>
>
> Any ideas would be appreciated. Thanks a lot.
>
>
>
> Aaronne.

Its been little while, I wrote a HYPR  (highly constrained back projection) simulation
program in matlab for a school project, and what I remember is having
a choice of poisson and Gaussian (but Gaussian need to be added to projection
in quadrature). For Gaussian, the SD is % of max projection signal.

http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2366054/

For statistic on each frame I used RMSE.

One day, I want to dust it and upload it, might be useful for some,
it was really cool project. about 5,000 lines of Matlab code, half
of it just for the GUI :)

Here is a link

http://www.eng.warwick.ac.uk/oel/courses/undergrad/lec13/applications.htm


--Nasser


0
Nasser
1/4/2012 12:28:43 PM
On 1/4/2012 6:28 AM, Nasser M. Abbasi wrote:

> Here is a link
>
> http://www.eng.warwick.ac.uk/oel/courses/undergrad/lec13/applications.htm
>

Just to be clear,

The above is one of the links I used as a reference.


--Nasser
0
Nasser
1/4/2012 12:37:47 PM
"Aaronne" wrote in message <je1fqg$kvn$1@newscl01ah.mathworks.com>...
> Hi there,
> 
> I have got problems to model the X-ray imaging noise using Matlab.
> 
> 1. What kind of noise in X-ray imaging? Gaussian or Poisson? I assume it is Poisson. 
============

There are people who have even modeled it as Compound Poisson

http://en.wikipedia.org/wiki/Compound_Poisson_distribution

It is true that the number of x-ray photons arriving at the detector is Poisson, but the number of light photons that it each x-ray photon generates when interacting with the detector depends on the x-ray photon energy, leading to compound Poisson measurement statistics.
0
mattjacREMOVE (3196)
1/4/2012 1:32:08 PM
Reply:

Similar Artilces:

Matlab engine with matlab R2010b
Hello All, I'm working with an aplication that use the matlab engine. I made the C++ program and it is working well in my pc with matlab 2007b, but the same very basic program shows an error when I tried to compile it in a pc with matlab R2010b. The error is about the icuuc32.dll. ¿Why is asking this DLL? How can I solve this?. Thanks¡ ...

Panel VAR model and Spatial Panel VAR model with Matlab
Hi All of you, Do anyone has the Matlab code for estimating Panel VAR or Spatial Panel VAR model with their impulse response function? In Spatial Econometrics, I have only saw Matlab code for inivariate specification. I am studying monetary area effect of common monetary policy. Many thanks! Dieudonne Jeff ...

Image Types in Matlab
Hi, I have no experinece in either image processing or matlab. I am a little confused about image types and image processing toolbox in matlab, and i appreciate if anyone could please clarify these confusions. So here is my problem: According to image processing tool box users's guide, an intensity image is stored in a single 'intensity matrix' that contains double precision values ranging from 0.0 to 1.0. My images are just raw data output of a light microscope. They are 16 bit data. So each 2 bytes corresponds to a value of a single pixel or a gray level. The gray level values for my images range from around 150 to around 300 (and with the CCD that i use 4096 graylevel values are possible). And the size of each image is 256x256. Now, since my image files are raw data, i cannot read them with imread function of the image processing tool box. I just read them using commands like: fid =fopen('012706_12.001', 'r', 'l'); //012706_12.001 is the name of the image file here status = fseek(fid, 512, 'bof'); A = fread(fid, [256 256], 'uint16'); Here is my confusion: so since the gray scale values of my images (elements of matrix A in the above example) are not between 0.0 and 1.0, matlab does not recognize this as an intensity matrix and as a result an intensity image. Is this correct? And so do i need to use mat2gray function to rescale my data to 0.0, and 1.0? But is there any other way that i keep my grayscale levels the ...

ARIMA model and Matlab
Hi, I have to forecast some value of a time series using an ARIMA(5,1,3) model. I saw in Matlab there isn't a function for ARIMA models because ARIMA models are a type of Box-Jenkins models. But how to set parameters? In the Box-Jenkins models m = bj(data,[nb nc nd nf nk]) How to set nb, nc, nd, nf and nk in order to have an ARIMA(p,d,q) model? Thanks There is no ARIMA function in MATLAB or the System Identification Toolbox (which you seem to be using as you reference the bj function). But to get the "I" term is a simple matter of differencing the input data, i.e. use bj(diff(data),...) instead of bj(data,...) The doc for bj clearly shows the equations for the model and how to define nb nc nf and nk. >> doc bj You might prefer to use the simpler armax model >> doc armax There is also ARMAX functionality within the Econometrics Toolbox. Phil. ...

Contribute to MATLAB Central and Win a MATLAB Jacket
Many of you who post to this newsgroup are also regular contributors to the MATLAB Central File Exchange. Look for your favorite contributors on our File Exchange Author Profile page. You can read their profiles and see pictures: <http://www.mathworks.com/matlabcentral/reports/fileexchange/allProfiles/> In a random drawing, we recently awarded MATLAB jackets to three File Exchange authors with profile pages: Michele Giugliano, Andrey Egin, and Denis Gilbert. You can win a jacket, too. Just submit a new file to the File Exchange or update your author profile by December 2003 for a chance to win one of four MATLAB jackets. See the jacket below: <http://www.mathworks.com/matlabcentral/images/jeff3.jpg> Here are some interesting File Exchange facts: - Since its inception in 2001, visitors have downloaded more than 1.25 million submissions from the File Exchange. - In September 2003 alone, visitors downloaded 80,085 files, an average of 2670 a day! .... what if the prize was a free copy of the next version of Matlab :-) majb Min Poh wrote: ....or an offer for employment... aj "bourassa" <bourassa-m@rmc.ca> wrote in message news:3f9d507d$1@rmcnt03a.rmc.ca... > ... what if the prize was a free copy of the next version of Matlab :-) > > majb > > Min Poh wrote: > ...

Image steganography in matlab
My project is...take cover image perform 2level dwt ONCE...den take payload image OF DOUBLE SIZE...perform 2 level dwt TWISE....finally cover n payload will be off same size...in the payload ...we are encrypting payload using FWT RPM...den adding this and cover..to form stego image....and then reverse to retrive image.....i hav done coding..bt only thing m not geetting is that... my Cover and Stego image are not same...plzzzz check my code..wats prob...plzzzzzzzzzzzzzzzzzzzz help me out..plzzzzzzzzzz code clc clear all %%%% cover image cover=imread('catherine.jpg'); % Converting input image to gray level image cover1=rgb2gray(cover); imshow(cover1); % Normalisation of an image cover2=double(cover1)./255; %Once Two level DWT of an image [cA1,cH1,cV1,cD1]=dwt2(cover2,'db1'); %%%%secret image secret=imread('wpeppers.jpg'); % Converting input image to gray level image secret1=rgb2gray(secret); imshow(secret) % Normalisation of an image secret2=double(secret1)./255; % Twice Two level DWT of an image %secret3=dFRT(512,1,1); %secret3=frft22d(secret2,[1,1]); %secret3=frft(secret2, 1); [C1,S1] = wavedec2(secret2,2,'db1'); cA2 = appcoef2(C1,S1,'db1',2); [cH2,cV2,cD2] = detcoef2('all',C1,S1,2); %%%% Encryption % Generating The Random Phase Mask [m1 n1]=size(cA1); [m n]=size(cA2); r1 = rand(m,n,'double'); Mask1=exp(2*3.14.*r1); % Encrypting Only Approximation Coefficient...

matlab image resize
I am trying to write and time a high-performance image resizing routine. I am wondering if anyone knows how optimized MATLAB's routine is (specifically bilinear filtering.) I think I read somewhere that MATLAB uses intel's Integrated Performance Primatives for stuff like matrix multiplication. If you edit imResize.m, there's a line with a call to imresizemex. Does this call the IPP imresize routine? ...

Deinterlacing images through Matlab
Hello, I need to remove interlace from the images through Matlab. Can someone explain me, how it can be done? I am new to Matlab, so kindly explain me step by step. Thank you. ...

Matlab parallel for loop or Matlab open pool
I am trying to to some computations and I would like to do it in parallel using parfor or by Opening the matlabpool.. as the current implementations is too slow: result=zeros(25,16000); for i = 1:length(vector1) % length is 25 for j = 1:length(vector2) % length is 16000 temp1 = vector1(i); temp2 = vector2(j); t1 = load(matfiles1(temp1).name) %load image1 from matfile1 t2 = load(matfiles2(temp2).name) % load image2 from matfile2 result(i,j)=t1.*t2 end end It work fine but I would really like to know if there is a way to speed thing up ... Thanks a lot in advance! ...

Call Matlab m-file from Matlab Scrip Node
My problem with matlab script node is related to calling function in matlab.&nbsp; I created an m-file function that takes an imput temperature (from DAQ) and defines a material property.&nbsp; My matlab script node doesn't seem to recognize my function.&nbsp; I have placed the function in the folder the vi is currently located, but it doesn't read it.&nbsp; How do I get matlab script node to read the functions I create in matlab? Add the directory to matlab path, or call the .m file with it full name ( D:\..... \myfile.m) Let me clarify, &nbsp; I have pasted my matlab code into the matlab scrip node. &nbsp; In this code, I have called a subfunction that I have created. &nbsp; Example k(n)=k_c(T(n)) where k_c is a subfunction I have created. &nbsp; How do I get my code in the node&nbsp;to sucessfully read the subfunction k_c? &nbsp; &nbsp; &nbsp; As indicated, you need to add the directory where the .m file containing the function resides to the list of paths that are read in. This is your startup.m file. The other option is to do a "cd" command prior to calling your function to change to the directory where the .m file containing the function resides. Thanks for reiterating the information.&nbsp; My matlab script node is working properly.&nbsp; I had never used the "cd" command in matlab.&nbsp; I always set the working directory when I open the program, and put all the m files into t...

Need help for a matlab mini project
Hello everyone, I have a matlab in class exercise due in few days. I am new to matlab and the instructions provided with the assignment is minimal. Can Someone help me with the basic understanding as in how can I map the problem's solution to matlab script ? I am not able to post question here as it is a jpeg file. Please let me know and then we can discuss further. ...

Error importing images to Matlab
I am new to Matlab and I am stuck at a spot. Problem : I have to get a large number of images to Matlab from a source directory into an array of all images. I am able to import an image at a time but doing it in bulk creates an error. Please see my code. files = dir('<directory>\*.jpg'); for i = 1:length(files) filename = strcat('<directory>',files(i).name); theimage= imread(filename); //till here, all things are fine. arrayofimages(i)=theimage; //Issue starts end; ??? Subscripted assignment dimension mismatch. I need to get these images into an array of some sort in Matlab, so that I can further work on them. Please advice "Rohit" wrote in message <jg1rcp$k1s$1@newscl01ah.mathworks.com>... > I am new to Matlab and I am stuck at a spot. > > Problem : I have to get a large number of images to Matlab from a source directory into an array of all images. I am able to import an image at a time but doing it in bulk creates an error. > > Please see my code. > > files = dir('<directory>\*.jpg'); > for i = 1:length(files) > filename = strcat('<directory>',files(i).name); > theimage= imread(filename); //till here, all things are fine. > arrayofimages(i)=theimage; //Issue starts > end; > ??? Subscripted assignment dimension mismatch. > > I need to g...

Simulink model within MATLAB
hi ...

bar
In MatLab 6.5, the routine above works normal: figure; sem=Average(:,2)./sqrt(Average(:,3)); bar([1:1:7],Average(:,1),sem); ylabel('% of epochs analyzed') xlabel('Frequency Band') title ('Occurrence of Oscillatory Events - Ch X') %Where Average and sem are vectors; But, in MatLab 7.0, the same code cause the following error: ??? Error using ==> xychk Too many input arguments. Error in ==> bar at 53 [msg,x,y] = xychk(args{1:nargs},'plot'); Error in ==> cross_subj_analysis>ok_Callback at 327 bar([1:1:7],Average(:,1),sem); I'd like to know why this occour. Thanks Henrique In article <g7a1j6$l1$1@fred.mathworks.com>, Henrique Amaral <henriquetomaz@uol.com.br> wrote: >In MatLab 6.5, the routine above works normal: >figure; >sem=Average(:,2)./sqrt(Average(:,3)); >bar([1:1:7],Average(:,1),sem); >ylabel('% of epochs analyzed') >xlabel('Frequency Band') >title ('Occurrence of Oscillatory Events - Ch X') >%Where Average and sem are vectors; >But, in MatLab 7.0, the same code cause the following error: >??? Error using ==> xychk >Too many input arguments. >Error in ==> bar at 53 > [msg,x,y] = xychk(args{1:nargs},'plot'); >Error in ==> cross_subj_analysis>ok_Callback at 327 >bar([1:1:7],Average(:,1),sem); >I'd like to know why this occour. When the third argument is numeric, it must be the bar width. barwidth must b...

Alignment of 3D model with Matlab
Hallo evrybody, I have two VRML file (3d colored point cloud) and I want to align these models. i don't if there are an easy way to ensure this alignment with Matlab. Thx for your reply ...

Matching between two images in Matlab.
how can i perform matching between two images in Matlab? for example, i want that for each interesting point z in an image ZImage1 we will find the k = arg min || d^i1 - d^j2||. any resource, information, code example, description on the process will be wellcomed. thank you! On Apr 28, 3:41=A0am, "Ntt " <nttbro...@gmail.com> wrote: > how can i perform matching between two images in Matlab? > for example, i want that for each interesting point z in an image ZImage1= we will find the k =3D arg min || d^i1 - d^j2||. > any resource, information, code example, description on the process will = be wellcomed. > thank you! ------------------------------------------------------------ What does d^i1 or d^j2 mean? What is d? And what are the exponents that you're raising it to? The row or column??? ...

How to create a mechanical model in Matlab
Hi, I want to make a geometrical shape in matlab, like a rectangle, square and beam rod and i also want to add them to a make a complete picture comprises of these three shape, So how i can make these thing in matlab. Regards, "Jawwad Ansari" > I want to make a geometrical shape in matlab, like a rectangle, square and beam rod and i also want to add them to a make a complete picture comprises of these three shape, So how i can make these thing in matlab... a hint: http://www.mathworks.com/products/simmechanics/ us ...

Matlab Image Question #2
Is there a way to filer a black and white image so that all holes with a defined pixel area (say, less that 5 pixels) will be filled? Hi Tyler, this reminds me to a function 'imfill' in the image processing toolbox. Also a dilation (imdilate) and afterwards an erosion (imerode) should do the working. Both together is known as closing. Hope this helped? Regards, Stefan ---------------------------------------- Tyler <tylerh@mail.utexas.edu> writes: > Is there a way to filer a black and white image so that all holes > with a defined pixel area (say, less that 5 pixels) will be filled? If you have the Image Processing Toolbox, try the bwareaopen function. -- Steve Eddins Development Manager, Image Processing Group The MathWorks, Inc. Tyler wrote: > Is there a way to filer a black and white image so that all holes > with a defined pixel area (say, less that 5 pixels) will be filled? These functions might be helpful: help bwlabel help regionpros -Herbert ...

Image Types in Matlab #2
Hi, I have no experinece in either image processing or matlab. I am a little confused about image types and image processing toolbox in matlab, and i appreciate if anyone could please clarify these confusions. So here is my problem: According to image processing tool box users's guide, an intensity image is stored in a single 'intensity matrix' that contains double precision values ranging from 0.0 to 1.0. My images are just raw data output of a light microscope. They are 16 bit data. So each 2 bytes corresponds to a value of a single pixel or a gray level. The gray level values for my images range from around 150 to around 300 (and with the CCD that i use 4096 graylevel values are possible). And the size of each image is 256x256. Now, since my image files are raw data, i cannot read them with imread function of the image processing tool box. I just read them using commands like: fid =fopen('012706_12.001', 'r', 'l'); //012706_12.001 is the name of the image file here status = fseek(fid, 512, 'bof'); A = fread(fid, [256 256], 'uint16'); Here is my confusion: so since the gray scale values of my images (elements of matrix A in the above example) are not between 0.0 and 1.0, matlab does not recognize this as an intensity matrix and as a result an intensity image. Is this correct? And so do i need to use mat2gray function to rescale my data to 0.0, and 1.0? But is there any other way that i keep my grayscale levels the ...

take lagarithim to image in matlab
hi i want to take logarithm to an image but i have problem... at first its appear error that 'log' is not defined for values of class 'uint8'. i so i convert it into double but also another error message appear to me: ??? Attempt to reference field of non-structure array. Error in ==> imneg at 15 image1=double(imread(ccc.jpg)); how i can fix it ?? this is my program: %basic image algorithm figure(1) subplot(2,1,1) imshow(ccc) s=255-ccc; %linear image negative subplot(2,1,2) imshow(s) av=im2uint8(ccc); figure(2) % imshow(av) [m,n]=size(ccc) % s(i,j)=log(image1(i,j)) for i=1:m; for j=1:n; image1=double(imread(ccc.jpg)); the error appear here r=max(image1); c=255/(log10(1+r)); ss(i,j)=c*log(1+abs(image1(i,j))); imshow(ss) y=0.5; c=1; ps(i,j)=c*(image1(j,j)^y); end end figure(3) imshow(ps) * visions <visions_89@yahoo.com> wrote: > ??? Attempt to reference field of non-structure array. > > Error in ==> imneg at 15 > image1=double(imread(ccc.jpg)); Try image1 = double(imread('ccc.jpg')); Cheers, Stefan -- So long, and thanks for all the fish! Stefan Kroboth * visions <visions_89@yahoo.com> wrote: > for i=1:m; > for j=1:n; > image1=double(imread(ccc.jpg)); the error appear here > r=max(image1); > c=255/(log10(1+r)); > ss(i,j)=c*log(1+abs(image1(i,j))); > imshow(ss) > y=...

Matlab builder JA: parse java string to matlab cell
Hi all, I'm building a java swing based GUI for my Matlab application. As such, user input is available as text strings, for example "{[0; 0], [3.5 0; 0 2]}" (mean vector and covariance matrix of a 2D Gaussian). The user input will be passed to the compiled matlab method as a MWCellArray. Problem is how do a convert (parse) the above string into a MWCellArray? From its javadoc http://www.mathworks.com/access/helpdesk/help/toolbox/javabuilder/MWArrayAPI/index.html the following method is available: java.lang.String toString() Returns a string representation of this array, but the reverse method is not. Evidently, parsing a string like the one above is a non trivial task and I'm loath to attempt writing one by myself. I would be very thankful if someone can point me to the required parser implementation. Matlab itself is carrying out this task all the time, perhaps it is possible to access Matlab's own parser. Help much appreciated, Ritesh ...

read an image to gui matlab
i have problem to view the image from the folder choose in gui matlab. my gui function like, when push the push button,we need to select the image from the file then view the image in gui. my problem is how to view the image, i mean in specific place. is it possible i use axes or something else?i don't want using coding imshow because it will show not in specific place. i hope anyone can help me. thank you. "norfaizayu " <ayu_anie85@yahoo.com.my> wrote in message <jg1gv1$kc9$1@newscl01ah.mathworks.com>... > i have problem to view the image from the folder choose in gui matlab. my gui function like, when push the push button,we need to select the image from the file then view the image in gui. my problem is how to view the image, i mean in specific place. is it possible i use axes or something else?i don't want using coding imshow because it will show not in specific place. i hope anyone can help me. > > thank you. ya. you can use the axes and plot the image in a specific place. for example. a=imread('your image.jpg'); // read the image image(a); // display in the axes. yesterday only i was working on this, if it doesn't work, get back to me. i can surely help you with this. "lav " <vijay.easwari@gmail.com> wrote in message <jg1kdl$h1$1@newscl01ah.mathworks.com>... > "norfaizayu " <ayu_anie85@yahoo.com.my> wrote in message <jg1gv1$kc9$1@newscl01ah.mathworks.com>... >...

Load frequency Model with Matlab
Is there any load frequecy demo in Matlab. Or lets say, is there any model in matlab with DFIG wind farm for frequency control studies? I am currently researchig on frequency control of power system with DFIG. I need to see a Matlab demo to help me . I pray that someone will please reply urgently to this message here or sent email to mzbernard@yahoo.com. Thanks Michael "Michael Bernard" <mzbernard@yahoo.com> wrote in message <jgqb12$d46$1@newscl01ah.mathworks.com>... > Is there any load frequecy demo in Matlab. Or lets say, is there any model in matlab with DFIG wind farm for frequency control studies? I am currently researchig on frequency control of power system with DFIG. I need to see a Matlab demo to help me . I pray that someone will please reply urgently to this message here or sent email to mzbernard@yahoo.com. > > Thanks > > Michael Maybe these links include information making your decision easier: For applications http://www.mathworks.com/products/simpower/demos.html?file=/products/demos/shipping/powersys/power_wind_dfig_det.html http://www.mathworks.com/help/toolbox/physmod/powersys/ug/f12-6566.html Concerning the models used in the demos (look under 'Distributed Resources DR'): http://www.mathworks.com/help/toolbox/physmod/powersys/ref/f2-16412.html#f2-23611 ...

how to calculate the contrast of an image in matlab
please, to prove degradation between a series of five images, I will calculate the contrast between the original image and the degraded.How can i calculate contrast using matlab. Thanks, foufou ...

Web resources about - How to model the X-ray imaging noise in Matlab? - comp.soft-sys.matlab

Imaging - Wikipedia, the free encyclopedia
Imaging is the representation or reproduction of an object's outward form; especially a visual representation (i.e., the formation of an image ...

Cat S60 Phone, With Thermal Imaging Camera, Built for Harsh Workplaces
The thermal camera, which Caterpillar is the first to integrate into a smartphone, lets users detect heat inside structures and more.

Cool thermal imaging phone
Cool thermal imaging phone

Caterpillar's New S60 Is the First Smartphone With FLIR Thermal Imaging Built Right In
... cameras are now accessible to anyone with a smartphone and a $250 accessory . But starting with Caterpillar’s new rugged S60, thermal imaging ...

An Affordable Panasonic Grid-EYE Thermal Imaging Camera
Thermal imaging cameras are objects of desire for hackers and makers everywhere, but sadly for us they can be rather expensive. When your sensor ...

Gizmodo Caterpillar’s New S60 Is the First Smartphone With FLIR Thermal Imaging Built Right In
Gizmodo Caterpillar’s New S60 Is the First Smartphone With FLIR Thermal Imaging Built Right In - Gawker Trump Is Losing Now (According to One ...

Examples of the Different Practical Uses for a Thermal Imaging Camera
ElectroBOOM engineer Mehdi Sadaghdar demonstrates some of the practical uses of a thermal imaging camera , seemingly to spite a friend who suggested ...

'Downton Abbey' fans deal with their grief by imaging hilarious alternate endings
The UK may have said goodbye to Downton Abbey back in December but the wound is all too fresh for fans in the U.S., who bid farewell to the Abbey ...

World's first thermal imaging phone camera
What's been billed as the world's first thermal imaging phone has gone on display at the Mobile World Congress. Jim Drury reports.

New microwave imaging approach opens a nanoscale view on processes in liquids
New microwave imaging approach trumps X-ray and electron-based methods that can damage delicate samples and muddy results. And it spares expensive ...

Resources last updated: 3/30/2016 3:02:29 PM