Batch Multi-peak Fitting & Constraints (Igor9)

I'm really enjoying the revamped Multi-Peak fitting functionality in Igor 9, many thanks to all involved. During a recent analysis session, I tried to apply constraints during the batch fitting procedure, mainly to ensure that the order of peaks remains unchanged to facilitate later analysis. I could not get this to work - the constrains I set had no effect at all. When inspecting the code in AutoMPFit GUI.ipf (Igor 9.00 (Build 37840)) I wasn't able to find the location where the constraints field in AutoMPFitInfoStruct is actually populated.

In line 394

Wave/Z/T constraints = $PopupWS_GetSelectionFullPath("AutoMPFitGUIPanel", "AutoMPF_PopupSelectConstrWave")

the constraints wave is read from the user interface but this value doesn't seem to be used later on. 


wave/T info.constraints=constraints

below line 394 resulted in my constrains wave being used. 

Is this a simple bug or do I misunderstand something about the inner working of the Multi-Peak Batch GUI? I am somewhat reluctant to fiddle around with procedure files that ship with Igor.

Yes, this was a slip up when writing the GUI and has already been fixed (in the same way you proposed) in a yet-to-be-released update. Please write an email to the support and you should get the latest files which you then just replaced until the official update is out of the oven (our you use your fix for now). Sorry for this simple mistake, but at least I see now that actually quite a few people use this feature. We actually we convinced that the userbase for batch MPFit + constraints is extremely tiny. ;)


I'm really enjoying the revamped Multi-Peak fitting functionality in Igor 9, many thanks to all involved.

chozo is too modest to claim credit, so I will do it for him. The new features in Igor 9 are all his doing. He contributed his time because, he claims, he enjoys a little Igor programming in his spare time. Sounds like he has no life :), but we are all grateful for his contributions.

John, thank you for spreading the word and letting me tinker with the code in the first place. I am happy that features actually get used. I included all kinds of convenient functionality I would like to use myself. Great, that other can benefit from it as well. And yes, I find programming to be a fun puzzle game, but contrary to my reputation, I do find other things to do on the weekend at times. ;)