2 # lmrcImageOrientationSearchBySimultaneousMinimization.h : $Revision$
5 # Usage : lmrcImageOrientationSearchBySimultaneousMinimization.h
17 #include "lCommonLineCalculation.h"
19 #define WORDLEN (1024)
21 #define PHIMAX (2*M_PI-(M_PI/180/2))
23 #define THETAMAX (M_PI)
25 #define PSIMAX (2*M_PI-(M_PI/180/2))
29 typedef struct EulerAngle {
37 typedef struct lmrcImageOrientationSearchBySimultaneousMinimizationInfo {
45 int initialrandomdata;
50 int ModeThresholdAngular;
51 int ModeCalculationArea;
53 double ThresholdCalculationArea;
64 } lmrcImageOrientationSearchBySimultaneousMinimizationInfo;
66 typedef struct PlaneRotationAngle {
71 typedef struct CommonLineData {
80 lLcalculation(lmrcImageOrientationSearchBySimultaneousMinimizationInfo* linfo, mrcImage* refOneLineFT, mrcImage* otherOneLineFT,
81 mrcImage* refOneLineSino, mrcImage* otherOneLineSino, CommonLineData* commonlinedata, double delU, int Num, int mode);
84 lAllCommonLineCalculation(lmrcImageOrientationSearchBySimultaneousMinimizationInfo* linfo, lCommonLineCalculationInfo* CommonLineInfo, int N,
85 PlaneRotationAngle* planerotationAngle, CommonLineData* Workcommonlinedata, int j, int mode);
88 lJcalculation(lmrcImageOrientationSearchBySimultaneousMinimizationInfo* linfo, int mode);
91 lPlaneRotationAngleSet(lmrcImageOrientationSearchBySimultaneousMinimizationInfo* linfo, PlaneRotationAngle* planerotationAngle, int mode);
94 lAngularWeightCalculation(lmrcImageOrientationSearchBySimultaneousMinimizationInfo* linfo, CommonLineData* commonlinedata, int CommonLineNum, int mode);
97 lCommonLineDataSetInPlaneRotation(lmrcImageOrientationSearchBySimultaneousMinimizationInfo* linfo, CommonLineData* commonlinedata,
98 CommonLineData* commonlinedataWithPlaneRotation, int PlaneRotationNum, int CommonLineNum, int i,
99 int* PlaneRotationFileNum, mrcImage* ref, int mode);
102 lCommonLinesDataSet(lmrcImageOrientationSearchBySimultaneousMinimizationInfo* linfo, CommonLineData* Workcommonlinedata, CommonLineData* commonlinedata, int mode);
105 lInitialDataFileRead(lmrcImageOrientationSearchBySimultaneousMinimizationInfo* linfo, FILE* fpt, int mode);
108 lmrcImageOneLineGet(mrcImage* out, mrcImage* in, float angle, int mode);
111 lmrcImageFTOneLineGet(mrcImage* out, mrcImage* in, float angle, int mode);
114 lmrcImageOneLineFTCreate(lmrcImageOrientationSearchBySimultaneousMinimizationInfo* linfo, mrcImage* ref, mrcImage* other,
115 mrcImage* refOneLineFT, mrcImage* otherOneLineFT, float RefAngle, float OtherAngle, int mode);
118 lmrcImageOneLineSinogramCorrelationAdditionalWeight(mrcImage* in, mrcImage* ref, int mode);