Difference between revisions of "lmrcImageCTFCompensation(API)"

From EosPedia
Jump to: navigation, search
(Created page with "DataManip/mrcImage/src/'''lmrcImageCTFCompensation''' is API for mrcImageCTFCompensation and mrcImageMultiCTFCompensation. == constant == == struct == == API == ex...")
 
(CTF Correction(One image))
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
DataManip/mrcImage/src/'''lmrcImageCTFCompensation''' is API for [[mrcImageCTFCompensation]] and [[mrcImageMultiCTFCompensation]].
+
DataManip/mrcImage/src/'''lmrcImageCTFCompensation''' is API to multiply CTF Correction to [[mrcImage]]. It is used by [[mrcImageCTFCompensation]], [[mrcImageMultiCTFCompensation]], and so on.
  
 
== constant ==
 
== constant ==
Line 6: Line 6:
  
 
== API ==
 
== API ==
 +
===  CTF Correction(One image) ===
 +
extern void lmrcImageCTFCompensation(mrcImage* dstfft, ctfInfo* ctf, long mode);
 +
Depending on ctf->flagAstigmatism, run different process. In addition, processes are changed by mode of argument. (refer [[ctfInfo(API)]])
 +
<table border="1">
 +
<tr>
 +
<th>Flag</th>
 +
<th>Function Name</th>
 +
<th>Description</th>
 +
</tr>
 +
<tr>
 +
<td>true</td>
 +
<td>ctfWeightForCorrection2D</td>
 +
<td> CTF Correction(2D)</td>
 +
</tr>
 +
<tr>
 +
<td>false</td>
 +
<td>ctfWeightForCorrection</td>
 +
<td> CTF Correction</td>
 +
</tr>
 +
</table>
 +
<br>
 +
 +
If ctf->flagWin is true, perform other correction for each range R at the following rule.(sin Windowing)
 +
<table border="1">
 +
<tr>
 +
<th>Range</th>
 +
<th>Description</th>
 +
</tr>
 +
<tr>
 +
<td>ctf->CutLow or less</td>
 +
<td>Directly</td>
 +
</tr>
 +
<tr>
 +
<td>more than ctf->CutLow, and less than ctf->CutHigh</td>
 +
<td>Weight = Weight*(cos((R-ctf->CutLow)/(ctf->CutHigh-ctf->CutLow)*M_PI)+1)*0.5;</td>
 +
</tr>
 +
<tr>
 +
<td>more than ctf->CutHigh</td>
 +
<td>0</td>
 +
</tr>
 +
</table>
 +
<br>
 +
 +
===  CTF Correction(Multiple images) ===
 +
extern void lmrcImageMultiCTFCompensation(mrcImage* dst, mrcImage* src, ctfInfo* ctf, long nfile, lmrcImageMultiCTFCompensationInfo info, long mode);
 +
Depending on mode(&0xf), run either function at the following.
 +
<table border="1">
 +
<tr>
 +
<th>Value</th>
 +
<th>Function Name</th>
 +
<th>Description</th>
 +
</tr>
 +
<tr>
 +
<td>+0</td>
 +
<td>__lmrcImageMultiCTFCompensationMode0</td>
 +
<td></td>
 +
</tr>
 +
<tr>
 +
<td>+1</td>
 +
<td>__lmrcImageMultiCTFCompensationMode1</td>
 +
<td>Smoothing of Solvent</td>
 +
</tr>
 +
</table>
 +
<br>
 +
 
  extern void __lmrcImageMultiCTFCompensationMode0(mrcImage* dst, mrcImage* src, ctfInfo* ctf, long nfile, lmrcImageMultiCTFCompensationInfo info, long mode);
 
  extern void __lmrcImageMultiCTFCompensationMode0(mrcImage* dst, mrcImage* src, ctfInfo* ctf, long nfile, lmrcImageMultiCTFCompensationInfo info, long mode);
 
  extern void __lmrcImageMultiCTFCompensationMode1(mrcImage* dst, mrcImage* src, ctfInfo* ctf, long nfile, lmrcImageMultiCTFCompensationInfo info, long mode);
 
  extern void __lmrcImageMultiCTFCompensationMode1(mrcImage* dst, mrcImage* src, ctfInfo* ctf, long nfile, lmrcImageMultiCTFCompensationInfo info, long mode);
  
extern void lmrcImageMultiCTFCompensation(mrcImage* dst, mrcImage* src, ctfInfo* ctf, long nfile, lmrcImageMultiCTFCompensationInfo info, long mode);
+
=== Output API Information ===
 
  extern void lmrcImageMultiCTFCompensationUsage(FILE* fpt);
 
  extern void lmrcImageMultiCTFCompensationUsage(FILE* fpt);
 
extern void lmrcImageCTFCompensation(mrcImage* dstfft, ctfInfo* ctf, long mode);
 

Latest revision as of 06:29, 2 September 2014

DataManip/mrcImage/src/lmrcImageCTFCompensation is API to multiply CTF Correction to mrcImage. It is used by mrcImageCTFCompensation, mrcImageMultiCTFCompensation, and so on.

constant

struct

API

CTF Correction(One image)

extern void lmrcImageCTFCompensation(mrcImage* dstfft, ctfInfo* ctf, long mode);

Depending on ctf->flagAstigmatism, run different process. In addition, processes are changed by mode of argument. (refer ctfInfo(API))

Flag Function Name Description
true ctfWeightForCorrection2D CTF Correction(2D)
false ctfWeightForCorrection CTF Correction


If ctf->flagWin is true, perform other correction for each range R at the following rule.(sin Windowing)

Range Description
ctf->CutLow or less Directly
more than ctf->CutLow, and less than ctf->CutHigh Weight = Weight*(cos((R-ctf->CutLow)/(ctf->CutHigh-ctf->CutLow)*M_PI)+1)*0.5;
more than ctf->CutHigh 0


CTF Correction(Multiple images)

extern void lmrcImageMultiCTFCompensation(mrcImage* dst, mrcImage* src, ctfInfo* ctf, long nfile, lmrcImageMultiCTFCompensationInfo info, long mode);

Depending on mode(&0xf), run either function at the following.

Value Function Name Description
+0 __lmrcImageMultiCTFCompensationMode0
+1 __lmrcImageMultiCTFCompensationMode1 Smoothing of Solvent


extern void __lmrcImageMultiCTFCompensationMode0(mrcImage* dst, mrcImage* src, ctfInfo* ctf, long nfile, lmrcImageMultiCTFCompensationInfo info, long mode);
extern void __lmrcImageMultiCTFCompensationMode1(mrcImage* dst, mrcImage* src, ctfInfo* ctf, long nfile, lmrcImageMultiCTFCompensationInfo info, long mode);

Output API Information

extern void lmrcImageMultiCTFCompensationUsage(FILE* fpt);