taskrelax - Tasks: task #7415, Implement support for...

 
 
Show feedback again

task #7415: Implement support for inversion-recovery R1 curve fitting

Submitted by:  Sébastien Morin <semor>
Submitted on:  Wed 15 Jun 2011 01:05:36 PM UTC  
 
Should Start On: Wed 15 Jun 2011 04:00:00 AM UTCShould be Finished on: Thu 01 Jan 2015 12:00:00 AM UTC
Category: relax's source codePriority: 5 - Normal
Status: CompletedPercent Complete: 100%
Assigned to: Edward d Auvergne <bugman>Open/Closed: Closed
Effort: 0.00

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Sun 30 Nov 2014 12:33:38 AM UTC, comment #9:

This is now fully implemented in the relax trunk. The system test Relax_fit.test_inversion_recovery, based on the original inversion-recovery branch and the relax_fit_exp_3param_inv_neg.py system test script, now passes. This demonstrates that the inversion recovery R1 curve-fitting is fully functional.

The C code from the original branch was not used, as it was simpler to duplicate the target_functions/exponential.c file to exponential_inv.c and update function, gradient, and Hessian functions for the different curve type. The original code did not have gradient or Hessians implemented, as this is relatively new for the curve-fitting analysis.

In addition, the saturation recovery model type has also been fully implemented and a system test based on the attached files passes.

Edward d Auvergne <bugman>
Project AdministratorIn charge of this item.
Thu 27 Nov 2014 06:19:35 PM UTC, comment #8:

For more discussions about this task, see the thread at http://thread.gmane.org/gmane.science.nmr.relax.devel/3693.

Edward d Auvergne <bugman>
Project AdministratorIn charge of this item.
Wed 26 Nov 2014 05:20:07 PM UTC, comment #7:

The hardest part of this task would be to create synthetic data for the 8 different exponential curves identified and implemented by Séb, or at least a subset of these. And then to create 8 separate system tests to check that the implementation is as expected. This would be the first step required for reviving the branch.

Edward d Auvergne <bugman>
Project AdministratorIn charge of this item.
Wed 26 Nov 2014 05:14:18 PM UTC, comment #6:

Note that for development in the inversion-recovery branch, that there should be a slightly different design of the target function for simplifying this.

There should be one target function in target_functions/relax_fit.c per function type, and that the correct one is selected by the wrapper code in specific_analyses/relax_fit/optimisation.py. This could be simplified by shifting all the *func_wrapper() functions into a new target function class in say target_functions/relax_fit_wrapper.py and having the target function selection performed there just like in the other analysis types.

This would avoid requiring any switching in the C code during optimisation, hence it would be much faster. And the problem which killed the original branch would then not be an issue. The new code could then just mimic the current code, as a duplication and modification, as the functions are very simple but could not use shared functions. Then no new C concepts would be needed.

Edward d Auvergne <bugman>
Project AdministratorIn charge of this item.
Wed 26 Nov 2014 05:09:16 PM UTC, comment #5:

Note that any developments here will also affect the relaxation dispersion analysis in relax.

Edward d Auvergne <bugman>
Project AdministratorIn charge of this item.
Wed 26 Nov 2014 04:59:11 PM UTC, comment #4:

Note that the inversion-recovery branch is now too old - it was branched from r13061 of relax 1.3. As the relax source code has changed and been rearranged hugely since then, to resurrect the branch will require creating a new branch (maybe 'inversion-recovery-new') and manually porting the desired patches from the original branch. For example the target function code maths_fns/relax_fit.c is now called target_functions/relax_fit.c.

Edward d Auvergne <bugman>
Project AdministratorIn charge of this item.
Wed 26 Nov 2014 04:53:45 PM UTC, comment #3:

The original discussion thread in the original submission can be better read from http://thread.gmane.org/gmane.science.nmr.relax.devel/3217.

Edward d Auvergne <bugman>
Project AdministratorIn charge of this item.
Wed 26 Nov 2014 04:51:13 PM UTC, comment #2:

This was asked for as a support request at https://gna.org/support/?3195.

Edward d Auvergne <bugman>
Project AdministratorIn charge of this item.
Wed 26 Nov 2014 04:50:21 PM UTC, comment #1:

A better formatted thread of the old discussions is http://thread.gmane.org/gmane.science.nmr.relax.devel/3221.

Edward d Auvergne <bugman>
Project AdministratorIn charge of this item.
Wed 15 Jun 2011 01:05:36 PM UTC, original submission:

As discussed in a thread started at:
https://mail.gna.org/public/relax-devel/2011-06/msg00138.html
Message-id: <4DF8A720.9000006@unibas.ch>

The task should implement support for inversion-recovery R1 curve fitting in both relax and relaxgui.

The code should be an expansion of the already existing code for exponential decay curve fitting...

Sébastien Morin <semor>
Project Member

 

(Note: upload size limit is set to 1024 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #22997:  saturation_recovery.tar.gaz added by andras (16kB - application/octet-stream)
file #22996:  saturation_recovery.tar.gz added by andras (5kB - application/x-gzip)
file #22989:  Relax_sym.tar.gz added by andras (12kB - application/x-gzip)
file #22980:  Relax.tar.gz added by andras (53kB - application/x-gzip)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by bugman
  • -unavailable- added by andras (Updated the item)
  • -unavailable- added by bugman
  • -unavailable- added by bugman
  • -unavailable- added by bugman (Updated the item)
  • -unavailable- added by semor (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 17 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sun 30 Nov 2014 12:33:38 AM UTCbugmanStatusPostponed=>Completed
      Percent Complete50%=>100%
      Open/ClosedOpen=>Closed
    Fri 28 Nov 2014 05:35:15 PM UTCandrasAttached File-=>Added saturation_recovery.tar.gaz, #22997
    Fri 28 Nov 2014 02:14:55 PM UTCandrasAttached File-=>Added saturation_recovery.tar.gz, #22996
    Thu 27 Nov 2014 06:21:06 PM UTCbugmanAssigned tosemor=>bugman
    Thu 27 Nov 2014 06:20:54 PM UTCbugmanShould be Finished onFri 15 Jul 2011 04:00:00 AM UTC=>Thu 01 Jan 2015 12:00:00 AM UTC
      CategoryNone=>relax's source code
    Thu 27 Nov 2014 06:20:20 PM UTCbugmanCarbon-Copy-=>Added -unavailable-
    Thu 27 Nov 2014 05:35:13 PM UTCandrasAttached File-=>Added Relax_sym.tar.gz, #22989
    Wed 26 Nov 2014 09:18:17 PM UTCandrasAttached File-=>Added Relax.tar.gz, #22980
    Wed 26 Nov 2014 05:09:16 PM UTCbugmanCarbon-Copy-=>Added tlinnet
    Wed 26 Nov 2014 04:51:13 PM UTCbugmanCarbon-Copy-=>Added andras
    Wed 26 Nov 2014 04:50:21 PM UTCbugmanPercent Complete0%=>50%
    Thu 10 Jan 2013 03:23:39 PM UTCbugmanStatusIn Progress=>Postponed
    Mon 20 Jun 2011 05:52:18 PM UTCsemorStatusNone=>In Progress
    Thu 16 Jun 2011 09:51:59 AM UTCsemorAssigned toNone=>semor
    Show feedback again

    Back to the top


    Powered by Savane 3.1-cleanup