diff --git a/CAreTomoMain.cpp b/CAreTomoMain.cpp index 7db1344..41283f4 100755 --- a/CAreTomoMain.cpp +++ b/CAreTomoMain.cpp @@ -20,8 +20,8 @@ int main(int argc, char* argv[]) if(argc == 2) { if(strcasecmp(argv[1], "--version") == 0 || strcasecmp(argv[1], "-v") == 0) - { printf("AreTomo2 version 1.1.2\n" - "Built on Feb 20 2024\n"); + { printf("AreTomo2 version 1.1.3\n" + "Built on Aug 19 2024\n"); } else if(strcasecmp(argv[1], "--help") == 0) { printf("\nUsage: AreTomo2 Tags\n"); diff --git a/CProcessThread.cpp b/CProcessThread.cpp index 64169de..2167f96 100755 --- a/CProcessThread.cpp +++ b/CProcessThread.cpp @@ -256,6 +256,7 @@ void CProcessThread::mRotAlign(void) void CProcessThread::mFindTiltOffset(void) { + m_fTiltOffset = 0.0f; CInput* pInput = CInput::GetInstance(); if(pInput->m_afTiltCor[0] < 0) return; //----------------- diff --git a/MrcUtil/CRemoveDarkFrames.cpp b/MrcUtil/CRemoveDarkFrames.cpp index a40f3ce..8e265c4 100755 --- a/MrcUtil/CRemoveDarkFrames.cpp +++ b/MrcUtil/CRemoveDarkFrames.cpp @@ -69,8 +69,12 @@ void CRemoveDarkFrames::DoIt pDarkFrames->Setup(s_pTomoStack); //----------------- for(int i=0; iAddDark(i); + continue; + } + //---------------- + float fRatio = (float)fabs(pfMeans[i]) / pfStds[i]; if(fRatio > fTol) continue; //---------------- pDarkFrames->AddDark(i); diff --git a/ProjAlign/CCalcReproj.cpp b/ProjAlign/CCalcReproj.cpp index e6bca2c..6f78868 100755 --- a/ProjAlign/CCalcReproj.cpp +++ b/ProjAlign/CCalcReproj.cpp @@ -108,6 +108,17 @@ void CCalcReproj::mFindProjRange(float* pfTiltAngles, bool* pbSkipProjs) iEnd = i; } //--------------------------------------------- + // 1) Prevent an unusual situation where the + // angular step is so large causing stretching + // factor larger that allowed. 2) In that case + // we just use the nearest lower tilt image. + //--------------------------------------------- + if(iStart < 0 || iEnd < 0) + { int iSign = (fProjA > 0) ? 1 : -1; + iStart = m_iProjIdx - iSign; + iEnd = iStart; + } + //----------------- if((iEnd - iStart) > 9) iEnd = iStart + 9; m_aiProjRange[0] = iStart; m_aiProjRange[1] = iEnd; diff --git a/Readme.txt b/Readme.txt index 3806e25..42825fd 100644 --- a/Readme.txt +++ b/Readme.txt @@ -375,3 +375,18 @@ AreTomo2 1.1.2 [02-20-2024] and then subtract the min and add 1. The line number is then iAcqIdx - 1. 2. DoseWeight/CWeightTomoStack: Check if iAcqIdx is 0-based. If so, add 1 to it. + +AreTomo2 1.1.3 [06-17-2024] +--------------------------- +1. Bug fix: random tilt angle values saved in .aln file. + 1) m_fTiltOffset in CProcessThread.cpp was not inititialized. Some + system initializes it with a random large numbers. When -TiltCor -1 + is used, tilt offset is not estimated and m_fTiltOffset stores the + random value, rather than zero that is added to the tilt angles. + Fix: added m_fTiltOffset = 0 in mFindTiltOffset. [06-17-2024] +2. Bug fix: AreTomo2 crashed when tilt angle file only has one column. + 1) To be done. +3. Bug fix: ProjAlign/CCalcReproj::mFindProjRange: needs to check whether + m_aiProjRange constains -1. Fixed on 08-19-2024. +4. Added in MrcUtil/CRemoveDarkFrames.cpp a check for flat images that have + very small sigma. They are rejected.