Hi Troels, I would suggest expanding this a little to also include the offset and dispersion point as arguments ;)
Cheers, Edward On 24 February 2014 14:20, <[email protected]> wrote: > Author: tlinnet > Date: Mon Feb 24 14:20:43 2014 > New Revision: 22284 > > URL: http://svn.gna.org/viewcvs/relax?rev=22284&view=rev > Log: > Expanded the loop_time function to optional take the spectrometer frequency > as input for restricting looping. > > Regarding bug #21665, (https://gna.org/bugs/?21665) - Running a CPMG analysis > with two fields at two delay times. > > Modified: > trunk/specific_analyses/relax_disp/disp_data.py > > Modified: trunk/specific_analyses/relax_disp/disp_data.py > URL: > http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/relax_disp/disp_data.py?rev=22284&r1=22283&r2=22284&view=diff > ============================================================================== > --- trunk/specific_analyses/relax_disp/disp_data.py (original) > +++ trunk/specific_analyses/relax_disp/disp_data.py Mon Feb 24 14:20:43 2014 > @@ -873,7 +873,7 @@ > # Then the dispersion points. > for point, di in loop_point(exp_type=exp_type, frq=frq, > offset=offset, return_indices=True): > # Finally the relaxation times. > - for time, ti in loop_time(return_indices=True): > + for time, ti in loop_time(frq=frq, return_indices=True): > # Yield the data. > if return_indices: > yield exp_type, frq, offset, point, time, ei, > mi, oi, di, ti > @@ -1281,9 +1281,13 @@ > yield id > > > -def loop_time(return_indices=False): > +def loop_time(exp_type=None, frq=None, return_indices=False): > """Generator method for looping over the relaxation times. > > + @keyword exp_type: The experiment type. > + @type exp_type: str > + @keyword frq: The spectrometer frequency in Hz. > + @type frq: float > @keyword return_indices: A flag which if True will cause the > relaxation time index to be returned as well. > @type return_indices: bool > @return: The relaxation time. > @@ -1296,6 +1300,28 @@ > # Loop over the time points. > if hasattr(cdp, 'relax_time_list'): > for time in cdp.relax_time_list: > + # Find a matching experiment ID. > + found = False > + for id in cdp.exp_type.keys(): > + # Skip non-matching experiments. > + if exp_type != None and cdp.exp_type[id] != exp_type: > + continue > + > + # Skip non-matching spectrometer frequencies. > + if frq != None and hasattr(cdp, 'spectrometer_frq') and > cdp.spectrometer_frq[id] != frq: > + continue > + > + if time != cdp.relax_times[id]: > + continue > + > + # Found. > + found = True > + break > + > + # No data. > + if not found: > + continue > + > # Increment the index. > ti += 1 > > > > _______________________________________________ > relax (http://www.nmr-relax.com) > > This is the relax-commits mailing list > [email protected] > > To unsubscribe from this list, get a password > reminder, or change your subscription options, > visit the list information page at > https://mail.gna.org/listinfo/relax-commits _______________________________________________ relax (http://www.nmr-relax.com) This is the relax-devel mailing list [email protected] To unsubscribe from this list, get a password reminder, or change your subscription options, visit the list information page at https://mail.gna.org/listinfo/relax-devel

