Hi,
The main application of ECG signal is clinical diagnosis as you know. Independent Component Analysis is a very interesting machine learning algorithm for blind source separation. As in your project it can be used for artifact removal from signals.
With ECG signals , what I feel is that, the kind of noise that would appear in them is mainly electronic noise like 50 Hz AC line. And for ECG analysis we are particularly interested to see the complexes ( PQRS) for its analysis. To remove high frequency noises or any other kind of noises what I feel is that , ICA algorithm is actually not cost effective . ECG signals are not that complex. Because you have the PQRS complex defined in a standard scale and any kind of deviation from that standard would mean the ECG of that person is defective or he has some illness. ICA is a higly computationally expensive algorithm. With ECG signals only having limited number of sources , you cannot actually feel its intensity ( the time needed for computation). Normal filtering methods based on Fourier theory and even wavelets are computationally less intensive and can do the same job very easily. This is just my thought on using ICA on ECG signals.
Well about your work, the attempt to use ICA is very good. You have used it to remove the noise from ECG signals as I understand. Have you looked on the nature of the noise being removed ? One interesting you could do is using the independent components see if you could remove the baseline drift of the ecg signal ( even though you have more easier methods that ICA).
Another thing you can try out is to separately extract the different complexes (PQRS ) of the ecg, as they are also some kind of independent components . Because the P , Q , R & S are all triggered from different points of the heart itself.
So you can try somethings like this I suppose, the rest depends on you creativity.
Cheers