@@ -198,13 +198,6 @@ void WPGen::_computeTimings()
198198 totalSpiralPts = spiralReadPts + spiralRampPts;
199199
200200 kspacePts = static_cast <int >(readoutDur / mDwell );
201-
202- // Constant Gradient crd variables (fast arc followed by constant gradient)
203- mDwellCG = 1.0 / (mGamma * gradMaxIn * mFov );
204- mArcDurCG = nyqNumberArms / (2.0 * mGamma * gradMaxIn * mFov );
205- mG0CG = mDelta / (2.0 * mGamma * gradMaxIn);
206- mCtaCG = 2.0 * M_PI * (mGamma * mGamma * gradMaxIn * gradMaxIn * mFov * mFov ) / (nyqNumberArms * nyqNumberArms);
207- mTotalCGDur = mArcDurCG + (gradDur1 - mG0CG ) + outRingDur;
208201}
209202
210203void WPGen::ComputeBaseSpiral (dVector& gradX, dVector& gradY)
@@ -698,63 +691,6 @@ dVector& sdc)
698691 mKSPComputed = true ;
699692}
700693
701- void WPGen::ComputeKSPnSDCForCG (dVector& kspX, dVector& kspY, dVector& sdc)
702- {
703- const double cgg = gradMaxSpiral;
704- const double csg = cgg / gradMaxSpiral;
705- int kpts_cg = static_cast <int >(mTotalCGDur / mDwellCG );
706-
707- kspX.resize (kpts_cg, 0.0 );
708- kspY.resize (kpts_cg, 0.0 );
709- sdc.resize (kpts_cg, 0.0 );
710-
711- double ctg = sqrt (2.0 * mGamma * gradMax / mDelta );
712- double theta, phi = 0 ., arm2arm, krad = 0 ., phi0, alpha;
713-
714- for (int i = 0 ; i < kpts_cg; i++) {
715- double t = static_cast <double >(i) * mDwellCG ;
716-
717- // ARC
718- if (t < mArcDurCG ) {
719- theta = mCtaCG * t * t;
720- krad = mDelta * sqrt (2.0 * (1.0 - cos (theta)));
721- phi = atan2 (1.0 - cos (theta), sin (theta)) + 1.0 - 0.5 * M_PI;
722- arm2arm = sin (theta);
723- sdc[i] = (t / mArcDurCG ) * arm2arm;
724- } else {
725- t = t - mArcDurCG + mG0CG ;
726-
727- // GRAD
728- if (mAddOuterRing ) {
729- if (t < mTotalCGDur ) {
730- sdc[i] = 1.0 ;
731- theta = ctg * sqrt (t);
732- krad = mDelta * sqrt (theta * theta + 1.0 );
733- phi = theta - acos (mDelta / krad);
734- } else {
735- // RING
736- phi0 = ctg * sqrt (outRingDur1);
737- if (t < outRingDur1) {
738- alpha = 0.5 * M_PI * (outRingDur1 - t) / outRingDur;
739- sdc[i] = csg * sin (alpha); // Sin() is ad-hoc for inter-arm distance
740- theta = thetaPrimeRing * (t - gradDur1);
741- krad = sqrt (rcLim * rcLim + mDelta * mDelta + 2.0 * rcLim * mDelta * sin (theta));
742- phi = phi0 - acos ((rcLim * sin (theta) + mDelta ) / krad);
743- }
744- }
745- } else {
746- sdc[i] = 1.0 ;
747- theta = ctg * sqrt (t);
748- krad = mDelta * sqrt (theta * theta + 1.0 );
749- phi = theta - acos (mDelta / krad);
750- }
751- }
752-
753- kspX[i] = krad * cos (phi) * mGridRes * mRes * coordsScaleFactor;
754- kspY[i] = krad * sin (phi) * mGridRes * mRes * coordsScaleFactor;
755- }
756- }
757-
758694void WPGen::ComputeTimeMap (std::vector<dVector > & timeMap)
759695{
760696 // ////////////////////////////////////
0 commit comments