NPK
-Documentation -

an NMR processing program.

NPK stands for NMRProcessing Kernel.

NPK implements

NPK does not implement 

NPK shares the same binary file formats with Gifa. As such, it can easily share data with Gifa compatible programs.
For instance Gifa 4 or Gifa 5 can be used to display NPK results, or can even be programmed to launch NPK scripts.
NMRNoteBook is a commercial program which present a very easy to use graphic interface, and can import and export Gifa files.


as a first contact, NPK can be seen as composed of several modules:
  1. a modeling of the NMR processing, which permits to very simply describe an experiment and the processing to apply on it,  along with simple commands to realize this processing.
    This level permits to simply start a processing or interact interactively with the data.
  2. a set of high level commands, implementing the high level operation needed for NMR (such as shearing or automatic phasing for instance)
    This level permits to rapidely implement new processing strategies.
  3. a set of low level commands, called the Kernel, tuned for efficient NMR processing.
    This comprises the buffers for 1D, 2D and 3D processing, is composed by a set of fundamental  mathematical operation.

Because of these three levels of organisation, the documentation itself is organized in three levels.

  1. The modeling level :
    Is typically called from the command line, using the Launch method. The modeling implement actions which require parameters.
  2. The high level processing library :
    is typically used in python programs which may use the following methods.
  3. The low level processing library :
    this one implements the processing buffers and the basic mathematical methods to interact with the data-set. It is implemented as a jni binary library.

NPK is developped as a plateform independent program, and relies on computer several langages.

NPK architecture can be presented as follow :

usage computer language
command line processing
Processing Modeling
launch batch or interactive processing from the command line. parameter files
high level library python scripts for special processing python
 low level library - wrapper called directly from python script, mixed with high-level methods. java
low level library - binary not used directly
FORTRAN

If you were familliar with Gifa, the low level library is built with the same principles. Most Gifa processing commands are implemented in the NPK low level library. 
So:

If you are familliar with python, then note that it is the Java implementation jython 2.1 which is used. You will find the full details on jython here. It implements python 2.1. You can find the difference between the different version of python here.

NPK is an NMR processing program developped by Marc A. Delsuc Vincent Catherinot, Dominique Tramesel, and others.