-
Notifications
You must be signed in to change notification settings - Fork 2
Filtering
Various filters can be implemented with the purpose of removing noise. Such transformation not only allows reducing the overall size of the dataset but also allow to easily visualised small features that were previously hidden. For the moment two filters have been implemented.
The RemoveSpikes filter is used for removings spikes, that is peaks in MS scans that are made of very few points (typically 3 or less). RemoveSpikers is used using the following command:
myFinnee = myFinnee.filterDataset(dts, 'RemoveSpikes:arg1');
where dts is the indices of the dataset to correct and arg1 (1, 2 or 3) is the maximum number of points for an MS peak to be considered as a spike. For example
myFinnee = myFinnee.filterDataset(1, 'RemoveSpikes:2');
It should be noted that because RemoveSpikes is highly conservative and allows to reduce the data size by ~20%, it is used when creating the Finnee object. To verify the performance of the algorithms, you should use
myFinnee = Finnee('overwrite', 'spikes', 0); myFinnee = myFinnee.filterDataset(1, 'RemoveSpikes:2');
myFinnee = myFinnee.filterDataset(dts, 'RemoveSpikes:arg1');
RemoveNoise is a filter that removes any points of low intensity that are not in the vicinity of a peak. If effect, for each point, RemoveNoise uses a window of size 2arg1+ 1 in the time dimension and 2arg2+1 in the m/z dimension and centered on the point of interest. The point of interest will be removed only if the intensities of all points within the window are below a set threshold. RemoveNoise is used with the following command:
myFinnee = myFinnee.filterDataset(dts, 'RemoveNoise:arg1:arg2:arg3');
where dts is the indices of the dataset to correct, arg1 and arg2 defined the size of the window and arg3 is the intensity threshold. While RemoveNoise is extremely powerful, the parameters should be carefully selected. Large value for arg1 and arg2 (typically larger than 10), allow to conserve peak shapes, however, can result if long computing times. However using small values for arg1 and arg2 but large values for arg3 will cut chromatographic and MS peaks at their edges. Ideally, arg3 should be between 1 and 3 time the peak to peak noise at a selected m/z. For example, for the urine CE/TOFMS dataset.
myFinnee = myFinnee.filterDataset(1, 'RemoveNoise:5:5:100');
By double clicking in myFinnee, it can be verified the Finnee object now have two datasets. Those can be compared easily using
myFinnee.Datasets{1}.TIP.plot myFinnee.Datasets{2}.TIP.plot
RemoveNoise can easily decrease the data size by more than 90% by only removing noise and peaks of very low intensities that are normally not processed (here below 100 counts).
Up : Basic operation with Dataset
Next : Baseline correction
Previous : Basic operation with Dataset
Related to: