Noise removal from mass profile using reference mass profile
Show older comments
I have imported mass spectra from two mzXML files (noise, pure) , which work fine. Associated functions mspeaks, msdotplot, all work perfectly fine. I used mspeaks to get the most relevant peaks, and using 'Children','get' functions, I got the XData, YData, ZData, which are the M/Z values, Retentime time values, and intensity values respectively for each sample.
I stiched the X,Y,Z Data for each sample, noise and pure to get cubes.
'pure' is a sample which contains my 'component of interest' + 'solvent noise' of size (206842,3)
'noise' is a sample which contains the 'solvent noise' of size (196452,3)
This is the code used to generate the mass profile for 'pure'
hp = plot3(pure(:,1),pure(:,2),pure(:,3),'r.','DisplayName','Centroids','Tag','msdotplot');
set(hp,'MarkerSize',1),
ylim([903 1626]) %% set time
view(0,90),white,box on, title('pure')
xlabel('M/Z'),ylabel('R time (min)')
xlim([400 1300]) %% set M/Z

Similarly, the profile for noise can be plotted :-

When I overlap the files, noise (black) and pure (red), they look like this :-

Is there a simple way to filter out the noise (black) from pure (red) and get a corrected 'pure sample'? I have uploaded the files as a .mat (with x = M/Z, y = time (min), z = intensity)
3 Comments
darova
on 1 Jul 2020
Did you try to binarize images and substract?
Sindhuraj Mukherjee
on 1 Jul 2020
darova
on 2 Jul 2020
I'm not good at signals, Maybe you need something like fft filtering
Answers (0)
Categories
Find more on Genomics and Next Generation Sequencing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!