NPK: Process3D.py Wed Oct 14 15:25:36 2009
    This module contains all the routines needed to process 3D NMR spectra
    
    The following functions realize a set of operations, needed for NMR 3D processing,
    
    Processing are divided in pre - FT - Post phases.
    For instance a typical 3D procesing, would be

    pre_3d()
    process3DF2F3()
    process3DF1()
    post_3d()
   
    or

    pre_3d()
    process3DF3()
    process3DF1F2()
    post_3d()

    or

    pre_3d()
    process3DF3()
    process3DF2()
    process3DF1()
    post_3d()

    3D nomenclature is :
    F1 is the slowest varying axis of the 3D
    F2 is the intermediate axis
    F3 is the acquisition axis.
    Note that this is not equivalent to the "spectroscopic" view of 3F, were F1 is associated to the first incremental time of the excitation sequence,
    which may, or may not, be the slowest varying axis.
    
    Additionally,
    F1 planes are planes orthogonal to the F1 axis, thus containing the F2-F3 axes of the 3D.

    3D data-set are not loaded in memory but rather planes extracted from the 3D are loaded planewise,
    and processed as regular in-memory 2D.
    
    Proces3Dxx phases are thus compound actions built upon the 2D couterpart.
    For instance Process3DF2F3 realizes the 2D processing of each F2-F3 planes (aka orthogonal to F1) of the 3D

    all parameters and actions are thus equivalent to there 2D counter part
    (F1 and F2 3D-axes are equivalent to the F1 axis of the 2D, and the F3 axis of the 3D is equivalent to the F2 axis of the 2D)
    They are not cited here but should be checked in the Process2D documentation.
    
    Standard 2D default parameters are used so far, additionnal parameters can be given using the F1- F2- F3 nomenclature.



    Most functions take the following arguments :
    arguments :
    audit
        the opened audit file, if empty or set to none, audit will go to the stdout
    filein      the file name of the input file, 
        will loaded before operation, if name is "memory", then processing takes place on the current 3D kernel buffer
    fileout     the file name of the input file, can be "memory"
        will written after operation, if name is "memory", then processing results is left in 3D kernel buffer
    p_in        the dictionary containing all the processing parameters
        most entries are optionnal as entries are protected with try / except
    f_in        the dictionary containing all the details on the spectrum "filein"
    f_out       details on the spectrum "fileout" will be put in this dictionary
    location    the directory where the output files will be written
    
 
FT3D(audit,p_in_arg,f_in,f_out,inputfilename,outputfilename)
       
    FT processing of a 3D FID

    uses  :
        pre_3d()
        process3DF2F3()
        process3DF1()
        post_3d()

 
pre_3d( audit, filein, fileout, p_in_arg, f_in, f_out )
       
    Pre processing of 3D
    Empty for the moment

 
process3DF2F3( audit, filein, fileout, p_in_arg3D, f_in_arg, f_out )
       
    This macro realizes the 2D processing of each F2-F3 planes (aka orthogonal to F1) of the 3D

 
process3DF1F2( audit, filein, fileout, p_in_arg, f_in_arg, f_out )
       
    This macro realizes the 2D processing of each F1-F2 planes (aka orthogonal to F3) of the 3D

 
process3DF1( audit, filein, fileout, p_in_arg, f_in_arg, f_out )
       
    This macro realizes the 1D processing of each F1-FID along the F1 (slowest varying) axis of the 3D

 
process3DF2( audit, filein, fileout, p_in_arg, f_in_arg, f_out )
       
    This macro realizes the 1D processing of each F2-FID along the F2 (intermediate varying) axis of the 3D

 
process3DF3( audit, filein, fileout, p_in_arg, f_in_arg, f_out )
       
    This macro realizes the 1D processing of each F3-FID along the F3 (classical) axis of the 3D

 
post_3d( audit, file, p_in_arg, f_in, f_out, location )
       
    Post processing of 3D
    - projection
    
    every thing is performed in-place

    will be added :
    - calibration
Actions

    3D_projections
    creates and store in files the projections of the 3D
    2 files are created per axis :
    using a mean algorithm (_M suffix) and using a skyline algorithm (_S suffix)

  • 3D_projections:   boolean / default 1


  • returned value:   F1_projections


  • returned value:   F2_projections


  • returned value:   F3_projections