In [1]:
%matplotlib inline

Video Stabilization

Here we show a simple technique to stabilize videos. We began by breaking up the input video in.avi into frames using the avconv utility

avconv -i in.avi -r 23.488 -f image2 ./in/%04d.png

In python we import the relevant modules


In [2]:
from ndreg import *
from glob import glob

Video frames were stored in the input directory


In [3]:
inDirPath = "./in/"

Our video contained 444 frames


In [4]:
numFrames = len(glob(inDirPath + "*.png"))
print(numFrames)


444

All video frames will be aligned to a reference frame. Since there are 444 frames we select the middle frame number 222 as the reference frame.


In [5]:
refFrameIndex = numFrames / 2
refFramePath = inDirPath + "{0:04d}.png".format(refFrameIndex)
refFrame = imgRead(refFramePath)

Clearly these frames are RGB images...


In [6]:
numComponents = refFrame.GetNumberOfComponentsPerPixel()
print(numComponents)


3

...but only the green component contains useful information


In [7]:
for i in range(numComponents): imgShow(sitk.VectorIndexSelectionCast(refFrame,i))


Therefore we'll perform the registration using the green component


In [8]:
refFrameG = sitk.VectorIndexSelectionCast(refFrame,1)

Our registration procedure is as follows. We read each input frame from the input directory, find the affine parameters which aligns it's green component with the green component of the reference frame. We then apply the affine parameters to the input frame and write it to the output directory.


In [11]:
outDirPath = "./out/"

for frameIndex in range(1,numFrames+1):
    inFramePath = inDirPath + "{0:04d}.png".format(frameIndex)
    inFrame = imgRead(inFramePath)
    inFrameG = sitk.VectorIndexSelectionCast(inFrame,1)
    affine = imgAffine(inFrameG, refFrameG, method=ndregTranslation)    
    outFrame = imgApplyAffine(inFrame, affine, size=refFrame.GetSize())
    print("frame = {0}; affine = {1}".format(frameIndex, affine))
    outPath = outDirPath + "{0:04d}.png".format(frameIndex)
    imgWrite(outFrame, outPath)


frame = 1; affine = [1.0, 0.0, 0.0, 1.0, -0.45681776105560346, -0.5619804957116381]
frame = 2; affine = [1.0, 0.0, 0.0, 1.0, -0.39317020650933293, -0.3934267697845552]
frame = 3; affine = [1.0, 0.0, 0.0, 1.0, -0.7261550273757806, -0.4290501589398803]
frame = 4; affine = [1.0, 0.0, 0.0, 1.0, -0.8403572319854378, 1.8172932610311858]
frame = 5; affine = [1.0, 0.0, 0.0, 1.0, -2.350222068687439, 1.3941151743934201]
frame = 6; affine = [1.0, 0.0, 0.0, 1.0, -3.7868796393733515, -1.6667526584967225]
frame = 7; affine = [1.0, 0.0, 0.0, 1.0, -3.5103691223967943, -2.0480576412118645]
frame = 8; affine = [1.0, 0.0, 0.0, 1.0, -3.6570984454346434, -0.8280785050826183]
frame = 9; affine = [1.0, 0.0, 0.0, 1.0, -3.2746508703323, -0.029676499479484954]
frame = 10; affine = [1.0, 0.0, 0.0, 1.0, -3.3504240485771786, 0.6998870100306799]
frame = 11; affine = [1.0, 0.0, 0.0, 1.0, -2.9206209539675205, 1.4755613394502942]
frame = 12; affine = [1.0, 0.0, 0.0, 1.0, -3.0604006171059974, 2.312412650164323]
frame = 13; affine = [1.0, 0.0, 0.0, 1.0, -2.585224836580104, 2.6098974062871387]
frame = 14; affine = [1.0, 0.0, 0.0, 1.0, -3.068011900747362, -0.4124627979537366]
frame = 15; affine = [1.0, 0.0, 0.0, 1.0, -3.84026677131883, -2.225883879361184]
frame = 16; affine = [1.0, 0.0, 0.0, 1.0, -3.934955525520848, -1.900778863562493]
frame = 17; affine = [1.0, 0.0, 0.0, 1.0, -3.5225922168269683, -0.45638489702292584]
frame = 18; affine = [1.0, 0.0, 0.0, 1.0, -3.3541237020740393, 0.34131960495878916]
frame = 19; affine = [1.0, 0.0, 0.0, 1.0, -3.2156234659931493, 1.214270408684952]
frame = 20; affine = [1.0, 0.0, 0.0, 1.0, -3.2604675139443144, 2.05297568042865]
frame = 21; affine = [1.0, 0.0, 0.0, 1.0, -3.005407889446615, 2.549203342116706]
frame = 22; affine = [1.0, 0.0, 0.0, 1.0, -2.3243762933158756, 2.1798321369636047]
frame = 23; affine = [1.0, 0.0, 0.0, 1.0, -2.6679588045465783, -1.2071073130965775]
frame = 24; affine = [1.0, 0.0, 0.0, 1.0, -3.7464637914411028, -2.3027001718415687]
frame = 25; affine = [1.0, 0.0, 0.0, 1.0, -3.4897544871508606, -1.2540666317401485]
frame = 26; affine = [1.0, 0.0, 0.0, 1.0, -3.482299283635805, -0.19260380703716362]
frame = 27; affine = [1.0, 0.0, 0.0, 1.0, -3.3060791716630167, 0.7449488181595275]
frame = 28; affine = [1.0, 0.0, 0.0, 1.0, -3.2562416946767008, 1.5733599221356265]
frame = 29; affine = [1.0, 0.0, 0.0, 1.0, -2.711408927957863, 2.4908099207731413]
frame = 30; affine = [1.0, 0.0, 0.0, 1.0, -2.7116126292842546, 3.2241291374603183]
frame = 31; affine = [1.0, 0.0, 0.0, 1.0, -3.089381925080325, 1.2750050798720753]
frame = 32; affine = [1.0, 0.0, 0.0, 1.0, -3.6247965948667935, -1.2893172134878543]
frame = 33; affine = [1.0, 0.0, 0.0, 1.0, -3.7878024119104463, -1.3387241415933129]
frame = 34; affine = [1.0, 0.0, 0.0, 1.0, -3.817671424512519, -0.17808737046891354]
frame = 35; affine = [1.0, 0.0, 0.0, 1.0, -3.766141331929708, 0.8220918817021093]
frame = 36; affine = [1.0, 0.0, 0.0, 1.0, -3.272917003464474, 1.6869640042107863]
frame = 37; affine = [1.0, 0.0, 0.0, 1.0, -3.2317677126770823, 2.374853595799388]
frame = 38; affine = [1.0, 0.0, 0.0, 1.0, -3.0438954879470876, 3.05295829476797]
frame = 39; affine = [1.0, 0.0, 0.0, 1.0, -2.67927140698157, 3.1366588800010806]
frame = 40; affine = [1.0, 0.0, 0.0, 1.0, -2.8734256506198523, -0.16595465821611752]
frame = 41; affine = [1.0, 0.0, 0.0, 1.0, -4.3229261876719445, -1.5519887661369165]
frame = 42; affine = [1.0, 0.0, 0.0, 1.0, -3.936755388016378, -0.9272167766398823]
frame = 43; affine = [1.0, 0.0, 0.0, 1.0, -3.5838313633271266, 0.12265280662267622]
frame = 44; affine = [1.0, 0.0, 0.0, 1.0, -4.043250809982813, 0.8561053371906138]
frame = 45; affine = [1.0, 0.0, 0.0, 1.0, -3.4800502810586558, 1.7319998269541745]
frame = 46; affine = [1.0, 0.0, 0.0, 1.0, -3.4827072061618787, 2.5045495700163345]
frame = 47; affine = [1.0, 0.0, 0.0, 1.0, -3.0137889264513325, 3.223090276002903]
frame = 48; affine = [1.0, 0.0, 0.0, 1.0, -3.2556256879169214, 2.469098980502722]
frame = 49; affine = [1.0, 0.0, 0.0, 1.0, -3.8558761709641565, -1.006697696727961]
frame = 50; affine = [1.0, 0.0, 0.0, 1.0, -3.8795310611425315, -1.7411722340879856]
frame = 51; affine = [1.0, 0.0, 0.0, 1.0, -4.231710493569092, -0.7232424051738623]
frame = 52; affine = [1.0, 0.0, 0.0, 1.0, -4.153388930157304, 0.2668748988583883]
frame = 53; affine = [1.0, 0.0, 0.0, 1.0, -3.6903545444911092, 1.0185935715004857]
frame = 54; affine = [1.0, 0.0, 0.0, 1.0, -4.098288296870051, 1.6762838127087665]
frame = 55; affine = [1.0, 0.0, 0.0, 1.0, -3.6333189872079164, 2.3805721227992183]
frame = 56; affine = [1.0, 0.0, 0.0, 1.0, -2.818724698953946, 2.982754249429425]
frame = 57; affine = [1.0, 0.0, 0.0, 1.0, -3.6882895131378977, 0.23195250785187788]
frame = 58; affine = [1.0, 0.0, 0.0, 1.0, -4.314394644445289, -1.7070650875731597]
frame = 59; affine = [1.0, 0.0, 0.0, 1.0, -4.271260312537324, -1.4451826974522286]
frame = 60; affine = [1.0, 0.0, 0.0, 1.0, -3.780983898695908, -0.16378381683921375]
frame = 61; affine = [1.0, 0.0, 0.0, 1.0, -4.4322192058507355, 0.7991122989589299]
frame = 62; affine = [1.0, 0.0, 0.0, 1.0, -4.078596277795605, 1.7499723424472295]
frame = 63; affine = [1.0, 0.0, 0.0, 1.0, -3.5536128184619544, 2.7396075283996746]
frame = 64; affine = [1.0, 0.0, 0.0, 1.0, -3.6077101332241335, 3.188350976217088]
frame = 65; affine = [1.0, 0.0, 0.0, 1.0, -3.2360758741691114, 3.3568035056077767]
frame = 66; affine = [1.0, 0.0, 0.0, 1.0, -3.7413665232198494, 0.1225770764725947]
frame = 67; affine = [1.0, 0.0, 0.0, 1.0, -5.248778963006593, -1.1110770817184372]
frame = 68; affine = [1.0, 0.0, 0.0, 1.0, -4.416026955751231, -0.1681809437555179]
frame = 69; affine = [1.0, 0.0, 0.0, 1.0, -4.927560868240791, 0.6917604264336256]
frame = 70; affine = [1.0, 0.0, 0.0, 1.0, -4.877143833746332, 1.9766555274707647]
frame = 71; affine = [1.0, 0.0, 0.0, 1.0, -4.400160728929516, 2.7712836911642436]
frame = 72; affine = [1.0, 0.0, 0.0, 1.0, -3.9207158815010184, 3.161668933666363]
frame = 73; affine = [1.0, 0.0, 0.0, 1.0, -3.815816332671682, 3.4679482057404827]
frame = 74; affine = [1.0, 0.0, 0.0, 1.0, -3.9215814039853476, 1.5205298539403151]
frame = 75; affine = [1.0, 0.0, 0.0, 1.0, -4.923980132708063, -0.6929564019583864]
frame = 76; affine = [1.0, 0.0, 0.0, 1.0, -4.7736743441517335, -0.9249690102809969]
frame = 77; affine = [1.0, 0.0, 0.0, 1.0, -5.1563498695210965, -0.009097889934713456]
frame = 78; affine = [1.0, 0.0, 0.0, 1.0, -4.475041578612759, 0.963100263503237]
frame = 79; affine = [1.0, 0.0, 0.0, 1.0, -3.9517063001410118, 1.7078804549341426]
frame = 80; affine = [1.0, 0.0, 0.0, 1.0, -3.9801438465754218, 2.3711092889195773]
frame = 81; affine = [1.0, 0.0, 0.0, 1.0, -4.042633581870093, 3.0531692690121166]
frame = 82; affine = [1.0, 0.0, 0.0, 1.0, -3.7036178043325374, 1.7632050232410608]
frame = 83; affine = [1.0, 0.0, 0.0, 1.0, -4.706888322855824, -1.3166504265245518]
frame = 84; affine = [1.0, 0.0, 0.0, 1.0, -5.004013245277314, -1.6755744037722202]
frame = 85; affine = [1.0, 0.0, 0.0, 1.0, -4.229624157746355, -0.3975780667316278]
frame = 86; affine = [1.0, 0.0, 0.0, 1.0, -4.129487586442393, 0.43446556926035446]
frame = 87; affine = [1.0, 0.0, 0.0, 1.0, -4.073531274729954, 1.3097399826627008]
frame = 88; affine = [1.0, 0.0, 0.0, 1.0, -3.4546867825338343, 2.3878022615238517]
frame = 89; affine = [1.0, 0.0, 0.0, 1.0, -3.630113123199826, 3.116580566264694]
frame = 90; affine = [1.0, 0.0, 0.0, 1.0, -3.2976571538751465, 2.607225570130741]
frame = 91; affine = [1.0, 0.0, 0.0, 1.0, -3.8822815756189426, -0.7230636326494256]
frame = 92; affine = [1.0, 0.0, 0.0, 1.0, -4.864116817468422, -1.3448212582577708]
frame = 93; affine = [1.0, 0.0, 0.0, 1.0, -4.468304879154978, -0.155457278642342]
frame = 94; affine = [1.0, 0.0, 0.0, 1.0, -3.884697575303449, 1.114059721936902]
frame = 95; affine = [1.0, 0.0, 0.0, 1.0, -4.3993705726063705, 1.9488928476905094]
frame = 96; affine = [1.0, 0.0, 0.0, 1.0, -3.5948564667226552, 2.846009899780662]
frame = 97; affine = [1.0, 0.0, 0.0, 1.0, -3.4125999096374824, 3.343538876318994]
frame = 98; affine = [1.0, 0.0, 0.0, 1.0, -3.3080468936382794, 2.9854710695074895]
frame = 99; affine = [1.0, 0.0, 0.0, 1.0, -3.186732558612406, -0.4543685354477836]
frame = 100; affine = [1.0, 0.0, 0.0, 1.0, -4.458956554624253, -1.6216949429067715]
frame = 101; affine = [1.0, 0.0, 0.0, 1.0, -3.894538244601264, -0.5558716980414664]
frame = 102; affine = [1.0, 0.0, 0.0, 1.0, -2.834572297142075, 0.5807559929384692]
frame = 103; affine = [1.0, 0.0, 0.0, 1.0, -3.3880355867126095, 1.491296162615825]
frame = 104; affine = [1.0, 0.0, 0.0, 1.0, -3.3595242294850425, 2.272940352141747]
frame = 105; affine = [1.0, 0.0, 0.0, 1.0, -2.6449505280645718, 3.011376788894669]
frame = 106; affine = [1.0, 0.0, 0.0, 1.0, -2.6886128782161673, 3.1903664705994648]
frame = 107; affine = [1.0, 0.0, 0.0, 1.0, -2.963159295359674, -0.3126124705229037]
frame = 108; affine = [1.0, 0.0, 0.0, 1.0, -3.6065653852988735, -1.92510440342272]
frame = 109; affine = [1.0, 0.0, 0.0, 1.0, -3.304096309336102, -1.1272232825093773]
frame = 110; affine = [1.0, 0.0, 0.0, 1.0, -3.3839605735286553, 0.06286020969850271]
frame = 111; affine = [1.0, 0.0, 0.0, 1.0, -2.64336680816607, 1.0481628705652595]
frame = 112; affine = [1.0, 0.0, 0.0, 1.0, -2.548165050032208, 1.6815996240466062]
frame = 113; affine = [1.0, 0.0, 0.0, 1.0, -2.4015464468109293, 2.3889657863662808]
frame = 114; affine = [1.0, 0.0, 0.0, 1.0, -1.8288161365154434, 2.884342703793202]
frame = 115; affine = [1.0, 0.0, 0.0, 1.0, -1.8965037510368121, 1.9682721805701995]
frame = 116; affine = [1.0, 0.0, 0.0, 1.0, -2.5291768584264345, -1.3397969576750026]
frame = 117; affine = [1.0, 0.0, 0.0, 1.0, -2.767571870404444, -1.8681872913069049]
frame = 118; affine = [1.0, 0.0, 0.0, 1.0, -2.3351387093231586, -0.4730646468543499]
frame = 119; affine = [1.0, 0.0, 0.0, 1.0, -2.118973502473594, 0.5942387227861284]
frame = 120; affine = [1.0, 0.0, 0.0, 1.0, -2.218445913962266, 1.520110026941902]
frame = 121; affine = [1.0, 0.0, 0.0, 1.0, -1.6711510364198703, 2.3737142998092664]
frame = 122; affine = [1.0, 0.0, 0.0, 1.0, -1.360460345831435, 2.897812775190096]
frame = 123; affine = [1.0, 0.0, 0.0, 1.0, -1.2668631213078088, 3.33148321474595]
frame = 124; affine = [1.0, 0.0, 0.0, 1.0, -0.94594121399496, 0.5871178308610201]
frame = 125; affine = [1.0, 0.0, 0.0, 1.0, -2.0247422294641493, -1.7199793721495549]
frame = 126; affine = [1.0, 0.0, 0.0, 1.0, -2.6987855195819, -1.2338702701195188]
frame = 127; affine = [1.0, 0.0, 0.0, 1.0, -1.5735379545874137, -0.2120934684421477]
frame = 128; affine = [1.0, 0.0, 0.0, 1.0, -1.1710703000867841, 0.5523985863632209]
frame = 129; affine = [1.0, 0.0, 0.0, 1.0, -1.5826727706018497, 1.5271985780837767]
frame = 130; affine = [1.0, 0.0, 0.0, 1.0, -1.1283650419353806, 2.1168907515932873]
frame = 131; affine = [1.0, 0.0, 0.0, 1.0, -0.381839342946315, 2.7698312526770827]
frame = 132; affine = [1.0, 0.0, 0.0, 1.0, -1.2227962867433861, 1.66878446300077]
frame = 133; affine = [1.0, 0.0, 0.0, 1.0, -1.866091265349836, -1.660768915369046]
frame = 134; affine = [1.0, 0.0, 0.0, 1.0, -2.204840517435799, -2.5863025023953536]
frame = 135; affine = [1.0, 0.0, 0.0, 1.0, -1.9845700992995081, -1.2414675069487937]
frame = 136; affine = [1.0, 0.0, 0.0, 1.0, -1.920853509795085, -0.11421634666132037]
frame = 137; affine = [1.0, 0.0, 0.0, 1.0, -1.2055557954458496, 0.6076476341843651]
frame = 138; affine = [1.0, 0.0, 0.0, 1.0, -0.7221592017580503, 1.480670208103787]
frame = 139; affine = [1.0, 0.0, 0.0, 1.0, -0.9774502425654911, 1.9990699648474342]
frame = 140; affine = [1.0, 0.0, 0.0, 1.0, -0.6074071612189881, 2.346329908091829]
frame = 141; affine = [1.0, 0.0, 0.0, 1.0, -1.1129723826111761, -1.1911196486403812]
frame = 142; affine = [1.0, 0.0, 0.0, 1.0, -2.093256242746937, -3.185973799882819]
frame = 143; affine = [1.0, 0.0, 0.0, 1.0, -1.8390753535588134, -2.5633553625271572]
frame = 144; affine = [1.0, 0.0, 0.0, 1.0, -1.6097346881745758, -1.3247768721090967]
frame = 145; affine = [1.0, 0.0, 0.0, 1.0, -1.2385846691700941, -0.20242356674985226]
frame = 146; affine = [1.0, 0.0, 0.0, 1.0, -1.0413172288081993, 0.6243048717053791]
frame = 147; affine = [1.0, 0.0, 0.0, 1.0, -0.7141970650305972, 1.1606333465765348]
frame = 148; affine = [1.0, 0.0, 0.0, 1.0, -0.3730156876077199, 1.7624614996356072]
frame = 149; affine = [1.0, 0.0, 0.0, 1.0, -0.2514020924211617, 0.9368897657295406]
frame = 150; affine = [1.0, 0.0, 0.0, 1.0, -1.2953508144505088, -2.5566873150035447]
frame = 151; affine = [1.0, 0.0, 0.0, 1.0, -2.100324698861816, -3.0983600245954133]
frame = 152; affine = [1.0, 0.0, 0.0, 1.0, -1.5617315799518188, -1.8171687404416266]
frame = 153; affine = [1.0, 0.0, 0.0, 1.0, -1.493530923134342, -0.5942151387241695]
frame = 154; affine = [1.0, 0.0, 0.0, 1.0, -0.9215792830508973, 0.3819476218440501]
frame = 155; affine = [1.0, 0.0, 0.0, 1.0, -0.9619703499720001, 1.0991046875067565]
frame = 156; affine = [1.0, 0.0, 0.0, 1.0, -0.6582579117467604, 1.7166179379506352]
frame = 157; affine = [1.0, 0.0, 0.0, 1.0, -0.32961484343269704, 2.1406120516005065]
frame = 158; affine = [1.0, 0.0, 0.0, 1.0, -0.776463943201061, -1.4052110097273238]
frame = 159; affine = [1.0, 0.0, 0.0, 1.0, -1.7441268840401511, -3.4446652008717202]
frame = 160; affine = [1.0, 0.0, 0.0, 1.0, -1.4231837524768127, -2.7263237331585586]
frame = 161; affine = [1.0, 0.0, 0.0, 1.0, -1.2623487426194835, -1.724448834913409]
frame = 162; affine = [1.0, 0.0, 0.0, 1.0, -0.9369466089923724, -0.43187491248579657]
frame = 163; affine = [1.0, 0.0, 0.0, 1.0, -0.475797546166252, 0.37176603194010516]
frame = 164; affine = [1.0, 0.0, 0.0, 1.0, -0.383513278598475, 1.0885701217278958]
frame = 165; affine = [1.0, 0.0, 0.0, 1.0, -0.4644620156630224, 1.5897907812036396]
frame = 166; affine = [1.0, 0.0, 0.0, 1.0, -0.3695717371662578, -0.8644467408144095]
frame = 167; affine = [1.0, 0.0, 0.0, 1.0, -1.3020203491945932, -3.658143825716745]
frame = 168; affine = [1.0, 0.0, 0.0, 1.0, -1.6335278812592315, -3.7407164344527435]
frame = 169; affine = [1.0, 0.0, 0.0, 1.0, -1.047048776446137, -2.4142023375588693]
frame = 170; affine = [1.0, 0.0, 0.0, 1.0, -0.7132114681758888, -1.157592460618333]
frame = 171; affine = [1.0, 0.0, 0.0, 1.0, -0.3395160362148659, -0.3103952217138227]
frame = 172; affine = [1.0, 0.0, 0.0, 1.0, -0.3103079018555596, 0.47165563466794946]
frame = 173; affine = [1.0, 0.0, 0.0, 1.0, -0.02502817455037694, 1.0403837002458765]
frame = 174; affine = [1.0, 0.0, 0.0, 1.0, 0.31777340254611824, 0.665197652775481]
frame = 175; affine = [1.0, 0.0, 0.0, 1.0, -0.6996747420345737, -3.329288293952376]
frame = 176; affine = [1.0, 0.0, 0.0, 1.0, -1.1472846114640258, -4.358588476658368]
frame = 177; affine = [1.0, 0.0, 0.0, 1.0, -0.8133862869968332, -2.997075503392061]
frame = 178; affine = [1.0, 0.0, 0.0, 1.0, -0.2195034577137564, -1.9520505193031692]
frame = 179; affine = [1.0, 0.0, 0.0, 1.0, -0.31497555116617404, -0.8995261149801169]
frame = 180; affine = [1.0, 0.0, 0.0, 1.0, 0.33182045759213774, 0.006227429365551215]
frame = 181; affine = [1.0, 0.0, 0.0, 1.0, 0.30408997924812164, 0.7284268275200633]
frame = 182; affine = [1.0, 0.0, 0.0, 1.0, 0.3909276100355963, 1.0225143648119144]
frame = 183; affine = [1.0, 0.0, 0.0, 1.0, 0.3386191215104705, -1.427278990975856]
frame = 184; affine = [1.0, 0.0, 0.0, 1.0, -0.5485571199139959, -3.949284443569042]
frame = 185; affine = [1.0, 0.0, 0.0, 1.0, -0.6563170495461566, -3.6592879439677914]
frame = 186; affine = [1.0, 0.0, 0.0, 1.0, -0.15854158731171694, -2.38597415174949]
frame = 187; affine = [1.0, 0.0, 0.0, 1.0, 0.19612840591999423, -1.1689503150175897]
frame = 188; affine = [1.0, 0.0, 0.0, 1.0, -0.42025607997366693, -0.10339692497897848]
frame = 189; affine = [1.0, 0.0, 0.0, 1.0, 0.11734960378894625, 0.7800025858965082]
frame = 190; affine = [1.0, 0.0, 0.0, 1.0, 0.6774738004864261, 1.5187004640034154]
frame = 191; affine = [1.0, 0.0, 0.0, 1.0, 0.41930281365009786, 0.9397494641093602]
frame = 192; affine = [1.0, 0.0, 0.0, 1.0, 0.04389342108617079, -2.2785378346341463]
frame = 193; affine = [1.0, 0.0, 0.0, 1.0, -0.7068346001024848, -3.337620525209557]
frame = 194; affine = [1.0, 0.0, 0.0, 1.0, -0.7077531865005534, -2.0978405723831868]
frame = 195; affine = [1.0, 0.0, 0.0, 1.0, -0.31293723222847664, -0.8799845464072653]
frame = 196; affine = [1.0, 0.0, 0.0, 1.0, -0.07904841432530489, 0.017487908352698443]
frame = 197; affine = [1.0, 0.0, 0.0, 1.0, 0.009428354197720932, 0.6590872196861343]
frame = 198; affine = [1.0, 0.0, 0.0, 1.0, 0.07846818761391056, 1.0794710434054249]
frame = 199; affine = [1.0, 0.0, 0.0, 1.0, 0.8092973166056319, 1.7984563703971648]
frame = 200; affine = [1.0, 0.0, 0.0, 1.0, -0.07317414672560242, -0.9827627263800959]
frame = 201; affine = [1.0, 0.0, 0.0, 1.0, -0.31584463612741687, -3.195652426034724]
frame = 202; affine = [1.0, 0.0, 0.0, 1.0, -0.8714225423077273, -2.5480856020801785]
frame = 203; affine = [1.0, 0.0, 0.0, 1.0, -0.20438090090866118, -1.3587532405212153]
frame = 204; affine = [1.0, 0.0, 0.0, 1.0, -0.16786254560485706, -0.29744771471087245]
frame = 205; affine = [1.0, 0.0, 0.0, 1.0, 0.009482448273472114, 0.40652659506232575]
frame = 206; affine = [1.0, 0.0, 0.0, 1.0, 0.3329129665919723, 1.1375316210471647]
frame = 207; affine = [1.0, 0.0, 0.0, 1.0, 0.507962621106429, 1.826172132798459]
frame = 208; affine = [1.0, 0.0, 0.0, 1.0, 0.5106304268761738, 1.4223206601465013]
frame = 209; affine = [1.0, 0.0, 0.0, 1.0, 0.10378111175057496, -2.1558566473929424]
frame = 210; affine = [1.0, 0.0, 0.0, 1.0, -0.7241573749216519, -3.521141535130235]
frame = 211; affine = [1.0, 0.0, 0.0, 1.0, -0.1824785020387752, -2.3155479440996385]
frame = 212; affine = [1.0, 0.0, 0.0, 1.0, -0.29103585124060083, -1.1232112438822943]
frame = 213; affine = [1.0, 0.0, 0.0, 1.0, 0.05711630480427715, -0.27083827135375316]
frame = 214; affine = [1.0, 0.0, 0.0, 1.0, 0.12427830408278054, 0.4009083727413957]
frame = 215; affine = [1.0, 0.0, 0.0, 1.0, 0.23644671243781765, 1.263671037957995]
frame = 216; affine = [1.0, 0.0, 0.0, 1.0, 0.5298875742064733, 1.7599448373603852]
frame = 217; affine = [1.0, 0.0, 0.0, 1.0, 0.5151025974428599, -0.6438829738395704]
frame = 218; affine = [1.0, 0.0, 0.0, 1.0, -0.3555983522066733, -3.0148160926554013]
frame = 219; affine = [1.0, 0.0, 0.0, 1.0, -0.36587797073671574, -2.9411217838265165]
frame = 220; affine = [1.0, 0.0, 0.0, 1.0, -0.28947809543327246, -1.9064753435401351]
frame = 221; affine = [1.0, 0.0, 0.0, 1.0, -0.07291979489584399, -0.6972633007943236]
frame = 222; affine = [1.0, 0.0, 0.0, 1.0, 0.0, 0.0]
frame = 223; affine = [1.0, 0.0, 0.0, 1.0, 0.15294154830599518, 0.7149472417816133]
frame = 224; affine = [1.0, 0.0, 0.0, 1.0, 0.6533108789356541, 1.4679995022754275]
frame = 225; affine = [1.0, 0.0, 0.0, 1.0, 0.35700746798563754, 1.2882555836436413]
frame = 226; affine = [1.0, 0.0, 0.0, 1.0, 0.08982750975964397, -2.02299536913812]
frame = 227; affine = [1.0, 0.0, 0.0, 1.0, -0.38116197993209666, -3.0736784811459783]
frame = 228; affine = [1.0, 0.0, 0.0, 1.0, -0.6162350796491396, -1.8446336137812254]
frame = 229; affine = [1.0, 0.0, 0.0, 1.0, -0.3844939635987496, -0.6440094262385706]
frame = 230; affine = [1.0, 0.0, 0.0, 1.0, -0.6566745970430258, 0.2547424193974]
frame = 231; affine = [1.0, 0.0, 0.0, 1.0, -0.4581564590774885, 1.1070274149876416]
frame = 232; affine = [1.0, 0.0, 0.0, 1.0, -0.40065642791439016, 2.050332003816032]
frame = 233; affine = [1.0, 0.0, 0.0, 1.0, -0.2607796967852374, 2.485228227442511]
frame = 234; affine = [1.0, 0.0, 0.0, 1.0, -0.2617371629940686, 0.4232373116732802]
frame = 235; affine = [1.0, 0.0, 0.0, 1.0, -1.1746960061545064, -1.7321652087334791]
frame = 236; affine = [1.0, 0.0, 0.0, 1.0, -1.2578743504509866, -1.741918422613862]
frame = 237; affine = [1.0, 0.0, 0.0, 1.0, -1.2047212212607685, -0.6765106730658235]
frame = 238; affine = [1.0, 0.0, 0.0, 1.0, -1.198512211781847, 0.03503816667269488]
frame = 239; affine = [1.0, 0.0, 0.0, 1.0, -0.8683420727872648, 0.8099140692122574]
frame = 240; affine = [1.0, 0.0, 0.0, 1.0, -0.8978430494623101, 1.462043884302192]
frame = 241; affine = [1.0, 0.0, 0.0, 1.0, -0.6500392544625372, 2.1444237768240835]
frame = 242; affine = [1.0, 0.0, 0.0, 1.0, -0.23019142716389512, 1.9335077468414519]
frame = 243; affine = [1.0, 0.0, 0.0, 1.0, -0.8515885971068463, -1.2121680759130384]
frame = 244; affine = [1.0, 0.0, 0.0, 1.0, -1.5207552321493742, -2.2340223460610087]
frame = 245; affine = [1.0, 0.0, 0.0, 1.0, -1.5957802018712695, -1.4016453442362875]
frame = 246; affine = [1.0, 0.0, 0.0, 1.0, -1.3243457019899687, -0.351745161274698]
frame = 247; affine = [1.0, 0.0, 0.0, 1.0, -1.632176580392391, 0.3348629221636824]
frame = 248; affine = [1.0, 0.0, 0.0, 1.0, -1.0035600412629317, 1.1565236159727208]
frame = 249; affine = [1.0, 0.0, 0.0, 1.0, -1.006138477669146, 1.815875801733213]
frame = 250; affine = [1.0, 0.0, 0.0, 1.0, -0.8819578927534051, 2.449016793627951]
frame = 251; affine = [1.0, 0.0, 0.0, 1.0, -0.6520311629250259, 0.45881566842536187]
frame = 252; affine = [1.0, 0.0, 0.0, 1.0, -1.331602913787648, -2.0739966808365318]
frame = 253; affine = [1.0, 0.0, 0.0, 1.0, -2.091303540157887, -2.6365610682309444]
frame = 254; affine = [1.0, 0.0, 0.0, 1.0, -1.7614727122461096, -1.4593763032780707]
frame = 255; affine = [1.0, 0.0, 0.0, 1.0, -1.7228032983047559, -0.5315999596580941]
frame = 256; affine = [1.0, 0.0, 0.0, 1.0, -1.545002421478802, 0.26795381250766837]
frame = 257; affine = [1.0, 0.0, 0.0, 1.0, -1.34626429844438, 1.0977602434576867]
frame = 258; affine = [1.0, 0.0, 0.0, 1.0, -0.8950296041271975, 1.9268063070678711]
frame = 259; affine = [1.0, 0.0, 0.0, 1.0, -0.9515503423212106, 2.1992985510853065]
frame = 260; affine = [1.0, 0.0, 0.0, 1.0, -1.089834546589441, -1.0520409188773878]
frame = 261; affine = [1.0, 0.0, 0.0, 1.0, -2.1377214135434244, -2.4630180609827232]
frame = 262; affine = [1.0, 0.0, 0.0, 1.0, -2.341910046566801, -1.600758304445177]
frame = 263; affine = [1.0, 0.0, 0.0, 1.0, -1.899506990303261, -0.3443075922077097]
frame = 264; affine = [1.0, 0.0, 0.0, 1.0, -2.1640639657814544, 0.5567820846203503]
frame = 265; affine = [1.0, 0.0, 0.0, 1.0, -1.809665307123987, 1.2285193377116617]
frame = 266; affine = [1.0, 0.0, 0.0, 1.0, -1.6177243828600767, 1.8933804542051607]
frame = 267; affine = [1.0, 0.0, 0.0, 1.0, -1.227331130694833, 2.1121491392763563]
frame = 268; affine = [1.0, 0.0, 0.0, 1.0, -1.526655135823102, 0.3276058695843982]
frame = 269; affine = [1.0, 0.0, 0.0, 1.0, -2.373910662071355, -2.3029584464714263]
frame = 270; affine = [1.0, 0.0, 0.0, 1.0, -2.4712568104873074, -2.300302047334651]
frame = 271; affine = [1.0, 0.0, 0.0, 1.0, -2.9355402551129135, -1.1635343587926417]
frame = 272; affine = [1.0, 0.0, 0.0, 1.0, -2.4696475455511164, -0.13956378786958765]
frame = 273; affine = [1.0, 0.0, 0.0, 1.0, -2.6712460604127117, 0.7010385202094032]
frame = 274; affine = [1.0, 0.0, 0.0, 1.0, -2.0501756445213433, 1.3817485583034916]
frame = 275; affine = [1.0, 0.0, 0.0, 1.0, -2.081166991141172, 2.013531126874594]
frame = 276; affine = [1.0, 0.0, 0.0, 1.0, -1.9363168972318145, 1.924681828400037]
frame = 277; affine = [1.0, 0.0, 0.0, 1.0, -2.391818223001506, -1.461941296992335]
frame = 278; affine = [1.0, 0.0, 0.0, 1.0, -3.1218783046926633, -2.721018288115097]
frame = 279; affine = [1.0, 0.0, 0.0, 1.0, -3.364144799167385, -1.8534921889909828]
frame = 280; affine = [1.0, 0.0, 0.0, 1.0, -2.969198143514456, -0.6864182051496112]
frame = 281; affine = [1.0, 0.0, 0.0, 1.0, -2.81691061764344, -0.009321257263219033]
frame = 282; affine = [1.0, 0.0, 0.0, 1.0, -2.692598509375643, 0.6854105142222519]
frame = 283; affine = [1.0, 0.0, 0.0, 1.0, -2.4274513888887683, 1.367153751301708]
frame = 284; affine = [1.0, 0.0, 0.0, 1.0, -2.234554542271591, 2.0429704464085057]
frame = 285; affine = [1.0, 0.0, 0.0, 1.0, -2.1088478132673902, -0.2670470055374687]
frame = 286; affine = [1.0, 0.0, 0.0, 1.0, -3.411579499495424, -2.382231912167161]
frame = 287; affine = [1.0, 0.0, 0.0, 1.0, -3.5808835787611675, -2.128494887506801]
frame = 288; affine = [1.0, 0.0, 0.0, 1.0, -3.274177088421416, -0.908653977088336]
frame = 289; affine = [1.0, 0.0, 0.0, 1.0, -3.521692892952144, 0.23549500374511892]
frame = 290; affine = [1.0, 0.0, 0.0, 1.0, -3.3582308232517297, 0.9737351616416058]
frame = 291; affine = [1.0, 0.0, 0.0, 1.0, -2.890290474177366, 1.8898436947609598]
frame = 292; affine = [1.0, 0.0, 0.0, 1.0, -2.6443953348675984, 2.677100156233003]
frame = 293; affine = [1.0, 0.0, 0.0, 1.0, -2.457947003941019, 2.547470121276852]
frame = 294; affine = [1.0, 0.0, 0.0, 1.0, -3.085333823406654, -0.7648122627394743]
frame = 295; affine = [1.0, 0.0, 0.0, 1.0, -3.976081700869901, -1.5497303987429736]
frame = 296; affine = [1.0, 0.0, 0.0, 1.0, -4.247612864321421, -0.8498377870876154]
frame = 297; affine = [1.0, 0.0, 0.0, 1.0, -3.3145214122681588, 0.12022063857456547]
frame = 298; affine = [1.0, 0.0, 0.0, 1.0, -3.4544576540143797, 1.187887691976229]
frame = 299; affine = [1.0, 0.0, 0.0, 1.0, -3.6493657598415936, 1.6917588137525141]
frame = 300; affine = [1.0, 0.0, 0.0, 1.0, -3.134767127832273, 2.4373830002264403]
frame = 301; affine = [1.0, 0.0, 0.0, 1.0, -2.8352622434139687, 1.9334778621677775]
frame = 302; affine = [1.0, 0.0, 0.0, 1.0, -4.257107755323971, -1.5169984474322635]
frame = 303; affine = [1.0, 0.0, 0.0, 1.0, -4.083301986476039, -2.150926398474381]
frame = 304; affine = [1.0, 0.0, 0.0, 1.0, -4.520409664713018, -1.009095523825546]
frame = 305; affine = [1.0, 0.0, 0.0, 1.0, -3.763188949828837, 0.12442653680415926]
frame = 306; affine = [1.0, 0.0, 0.0, 1.0, -3.866442795020432, 0.9205060995827643]
frame = 307; affine = [1.0, 0.0, 0.0, 1.0, -3.373964932558879, 1.6840327215563455]
frame = 308; affine = [1.0, 0.0, 0.0, 1.0, -3.102105918265516, 2.3575126805941142]
frame = 309; affine = [1.0, 0.0, 0.0, 1.0, -3.067141758163538, 2.1535182393544177]
frame = 310; affine = [1.0, 0.0, 0.0, 1.0, -4.00670101903494, -1.271585209110693]
frame = 311; affine = [1.0, 0.0, 0.0, 1.0, -4.226670386323358, -2.1769014587490276]
frame = 312; affine = [1.0, 0.0, 0.0, 1.0, -4.200572541456086, -1.2738614903676413]
frame = 313; affine = [1.0, 0.0, 0.0, 1.0, -4.289335744068925, -0.07763049795982957]
frame = 314; affine = [1.0, 0.0, 0.0, 1.0, -3.6449457877233793, 0.9266825948789471]
frame = 315; affine = [1.0, 0.0, 0.0, 1.0, -3.2214507394794505, 1.7945906811009191]
frame = 316; affine = [1.0, 0.0, 0.0, 1.0, -3.2338291792458005, 2.6375280519555133]
frame = 317; affine = [1.0, 0.0, 0.0, 1.0, -2.8820276667415006, 3.0455028108077813]
frame = 318; affine = [1.0, 0.0, 0.0, 1.0, -2.6766210112929887, 1.426366579816335]
frame = 319; affine = [1.0, 0.0, 0.0, 1.0, -3.8027311640517127, -1.3964094635632565]
frame = 320; affine = [1.0, 0.0, 0.0, 1.0, -3.8199752688753836, -1.74056155844226]
frame = 321; affine = [1.0, 0.0, 0.0, 1.0, -3.906136467445029, -0.6338187439490389]
frame = 322; affine = [1.0, 0.0, 0.0, 1.0, -3.592942818282158, 0.4774442954315003]
frame = 323; affine = [1.0, 0.0, 0.0, 1.0, -3.2005203235797572, 1.2282461817964059]
frame = 324; affine = [1.0, 0.0, 0.0, 1.0, -3.139162195277145, 2.4409241404347015]
frame = 325; affine = [1.0, 0.0, 0.0, 1.0, -2.7372409032469003, 3.2885808564863726]
frame = 326; affine = [1.0, 0.0, 0.0, 1.0, -2.6353525357048153, 3.891841263071499]
frame = 327; affine = [1.0, 0.0, 0.0, 1.0, -3.373098904842306, 0.19175024986482117]
frame = 328; affine = [1.0, 0.0, 0.0, 1.0, -4.280289977693755, -1.332861959108456]
frame = 329; affine = [1.0, 0.0, 0.0, 1.0, -4.065834101248895, -0.3789979092698744]
frame = 330; affine = [1.0, 0.0, 0.0, 1.0, -3.7083575733205625, 0.6068796923740329]
frame = 331; affine = [1.0, 0.0, 0.0, 1.0, -3.5061377900073576, 1.6026811404615655]
frame = 332; affine = [1.0, 0.0, 0.0, 1.0, -3.290594381141236, 2.388149568736882]
frame = 333; affine = [1.0, 0.0, 0.0, 1.0, -2.8321326011728187, 3.0317466820965104]
frame = 334; affine = [1.0, 0.0, 0.0, 1.0, -2.7246751552871418, 3.5379596985699853]
frame = 335; affine = [1.0, 0.0, 0.0, 1.0, -2.995606511489192, 0.9909285287568831]
frame = 336; affine = [1.0, 0.0, 0.0, 1.0, -3.3955736183592093, -1.5178574585197755]
frame = 337; affine = [1.0, 0.0, 0.0, 1.0, -3.7960630506599213, -1.5608289913877083]
frame = 338; affine = [1.0, 0.0, 0.0, 1.0, -3.9313039336711664, -0.24902702184252254]
frame = 339; affine = [1.0, 0.0, 0.0, 1.0, -3.6757233779377425, 0.6924377667128746]
frame = 340; affine = [1.0, 0.0, 0.0, 1.0, -2.394547232308704, 1.6967375566384206]
frame = 341; affine = [1.0, 0.0, 0.0, 1.0, -3.183757893733395, 2.406359644018808]
frame = 342; affine = [1.0, 0.0, 0.0, 1.0, -2.529372894109678, 3.117357934617555]
frame = 343; affine = [1.0, 0.0, 0.0, 1.0, -2.2850496751856006, 2.8827091763987935]
frame = 344; affine = [1.0, 0.0, 0.0, 1.0, -3.133024246239392, -0.7260260223505152]
frame = 345; affine = [1.0, 0.0, 0.0, 1.0, -3.8165791860783163, -2.170392957262856]
frame = 346; affine = [1.0, 0.0, 0.0, 1.0, -3.2817319185590987, -1.093406248560191]
frame = 347; affine = [1.0, 0.0, 0.0, 1.0, -3.161927624452494, -0.191522256438947]
frame = 348; affine = [1.0, 0.0, 0.0, 1.0, -2.7405474288600815, 0.8442882331951799]
frame = 349; affine = [1.0, 0.0, 0.0, 1.0, -2.6712627452274007, 1.7366736978256296]
frame = 350; affine = [1.0, 0.0, 0.0, 1.0, -1.6629810176421944, 2.3595806170537346]
frame = 351; affine = [1.0, 0.0, 0.0, 1.0, -2.009805943956275, 2.8371150635691276]
frame = 352; affine = [1.0, 0.0, 0.0, 1.0, -2.4044121584137494, 0.20930696833639217]
frame = 353; affine = [1.0, 0.0, 0.0, 1.0, -2.8942265729929266, -2.5795802922517574]
frame = 354; affine = [1.0, 0.0, 0.0, 1.0, -2.888802657074805, -2.1860601673437965]
frame = 355; affine = [1.0, 0.0, 0.0, 1.0, -2.8435003763476945, -0.9549429369652834]
frame = 356; affine = [1.0, 0.0, 0.0, 1.0, -2.223179458250103, 0.40209999387705786]
frame = 357; affine = [1.0, 0.0, 0.0, 1.0, -2.2375513769180175, 1.1516546782528474]
frame = 358; affine = [1.0, 0.0, 0.0, 1.0, -1.7999837812648707, 1.824203598217176]
frame = 359; affine = [1.0, 0.0, 0.0, 1.0, -1.1095693709157732, 2.4874559365209303]
frame = 360; affine = [1.0, 0.0, 0.0, 1.0, -1.1387335946076302, 2.264977222908427]
frame = 361; affine = [1.0, 0.0, 0.0, 1.0, -2.5030134945416895, -1.724134690237471]
frame = 362; affine = [1.0, 0.0, 0.0, 1.0, -2.7791992265086476, -2.7295823872733864]
frame = 363; affine = [1.0, 0.0, 0.0, 1.0, -2.338991620471692, -1.7324079956495206]
frame = 364; affine = [1.0, 0.0, 0.0, 1.0, -1.9063794351081444, -0.44286511651274424]
frame = 365; affine = [1.0, 0.0, 0.0, 1.0, -1.6419538076953542, 0.3513816364988976]
frame = 366; affine = [1.0, 0.0, 0.0, 1.0, -1.4790887192951627, 1.127057234042571]
frame = 367; affine = [1.0, 0.0, 0.0, 1.0, -0.7542281188358425, 1.9185886906501886]
frame = 368; affine = [1.0, 0.0, 0.0, 1.0, -0.9233672539903522, 2.3371999978279656]
frame = 369; affine = [1.0, 0.0, 0.0, 1.0, -0.8348324847214148, 0.1051725076205156]
frame = 370; affine = [1.0, 0.0, 0.0, 1.0, -2.2200072737395584, -2.4910238447084754]
frame = 371; affine = [1.0, 0.0, 0.0, 1.0, -2.170048565005922, -2.322779242583254]
frame = 372; affine = [1.0, 0.0, 0.0, 1.0, -1.952178154292946, -0.9907755572197016]
frame = 373; affine = [1.0, 0.0, 0.0, 1.0, -1.8814415839780623, 0.24260798643831252]
frame = 374; affine = [1.0, 0.0, 0.0, 1.0, -1.5684204071647343, 1.1222139116652317]
frame = 375; affine = [1.0, 0.0, 0.0, 1.0, -0.9520510200307557, 1.876098330964634]
frame = 376; affine = [1.0, 0.0, 0.0, 1.0, -1.08489172574637, 2.6527409395674986]
frame = 377; affine = [1.0, 0.0, 0.0, 1.0, -0.8291502533703994, 2.5211446436068545]
frame = 378; affine = [1.0, 0.0, 0.0, 1.0, -1.3297963229894598, -1.1270528461388387]
frame = 379; affine = [1.0, 0.0, 0.0, 1.0, -2.011735114781412, -2.5471596537380723]
frame = 380; affine = [1.0, 0.0, 0.0, 1.0, -2.334144479972708, -1.7590582678806306]
frame = 381; affine = [1.0, 0.0, 0.0, 1.0, -1.6494425868114875, -0.6992394402524086]
frame = 382; affine = [1.0, 0.0, 0.0, 1.0, -1.0526679422481717, 0.2092578715763614]
frame = 383; affine = [1.0, 0.0, 0.0, 1.0, -1.2465280901646372, 1.1031956562619216]
frame = 384; affine = [1.0, 0.0, 0.0, 1.0, -1.2946547525976302, 1.661633546786263]
frame = 385; affine = [1.0, 0.0, 0.0, 1.0, -0.7120694527301145, 2.3529073786771937]
frame = 386; affine = [1.0, 0.0, 0.0, 1.0, -0.9685626889270103, 0.22033097413635797]
frame = 387; affine = [1.0, 0.0, 0.0, 1.0, -1.9215823043338687, -2.802959829060064]
frame = 388; affine = [1.0, 0.0, 0.0, 1.0, -2.4448996672729715, -3.166209625646631]
frame = 389; affine = [1.0, 0.0, 0.0, 1.0, -2.4486472991203754, -1.951291237157281]
frame = 390; affine = [1.0, 0.0, 0.0, 1.0, -1.6108300980493833, -0.7023047516178886]
frame = 391; affine = [1.0, 0.0, 0.0, 1.0, -1.8232195487607366, 0.09642997948977311]
frame = 392; affine = [1.0, 0.0, 0.0, 1.0, -1.4281754498631394, 0.8708460910656226]
frame = 393; affine = [1.0, 0.0, 0.0, 1.0, -0.8253061645558604, 1.5166470279765982]
frame = 394; affine = [1.0, 0.0, 0.0, 1.0, -0.49124326396783063, 1.7370033797299411]
frame = 395; affine = [1.0, 0.0, 0.0, 1.0, -1.7341168710351986, -2.0074686703160785]
frame = 396; affine = [1.0, 0.0, 0.0, 1.0, -2.5202373311883632, -3.6967862000723737]
frame = 397; affine = [1.0, 0.0, 0.0, 1.0, -2.1781311634261535, -2.874805640190173]
frame = 398; affine = [1.0, 0.0, 0.0, 1.0, -1.9807643134613726, -1.7369212203907023]
frame = 399; affine = [1.0, 0.0, 0.0, 1.0, -1.3136351703324862, -0.5787081592576537]
frame = 400; affine = [1.0, 0.0, 0.0, 1.0, -1.3428534527056284, 0.2102440160508289]
frame = 401; affine = [1.0, 0.0, 0.0, 1.0, -1.0161091216056841, 0.7882575633932214]
frame = 402; affine = [1.0, 0.0, 0.0, 1.0, -0.7917044220325713, 1.3791896742274883]
frame = 403; affine = [1.0, 0.0, 0.0, 1.0, -0.42207295171839054, 0.5271012748222109]
frame = 404; affine = [1.0, 0.0, 0.0, 1.0, -1.6735982018938274, -3.1853906001128647]
frame = 405; affine = [1.0, 0.0, 0.0, 1.0, -1.7479474139834739, -3.9574999318674533]
frame = 406; affine = [1.0, 0.0, 0.0, 1.0, -1.730821185340007, -2.8640243782351114]
frame = 407; affine = [1.0, 0.0, 0.0, 1.0, -1.2954832347967766, -1.7595858825001753]
frame = 408; affine = [1.0, 0.0, 0.0, 1.0, -0.7273640953924505, -0.6554813347242385]
frame = 409; affine = [1.0, 0.0, 0.0, 1.0, -0.9058084800228206, -0.0038879777881882377]
frame = 410; affine = [1.0, 0.0, 0.0, 1.0, -0.4074086335510206, 0.6298385810791894]
frame = 411; affine = [1.0, 0.0, 0.0, 1.0, -0.08979601941435839, 1.4669578845490001]
frame = 412; affine = [1.0, 0.0, 0.0, 1.0, -0.6358269365133307, -1.456394516825839]
frame = 413; affine = [1.0, 0.0, 0.0, 1.0, -1.4592438669645824, -3.8499141146489664]
frame = 414; affine = [1.0, 0.0, 0.0, 1.0, -1.2768880436303809, -3.15493662270631]
frame = 415; affine = [1.0, 0.0, 0.0, 1.0, -1.2283541689552837, -2.0242825532631947]
frame = 416; affine = [1.0, 0.0, 0.0, 1.0, -1.2207977439815714, -0.8346204297083458]
frame = 417; affine = [1.0, 0.0, 0.0, 1.0, -0.582529174343792, 0.1614407840385251]
frame = 418; affine = [1.0, 0.0, 0.0, 1.0, -0.6885908022927414, 0.9806339238615669]
frame = 419; affine = [1.0, 0.0, 0.0, 1.0, -0.4058819328245619, 1.7792354561899721]
frame = 420; affine = [1.0, 0.0, 0.0, 1.0, -0.4765440395460567, 1.5079595295303918]
frame = 421; affine = [1.0, 0.0, 0.0, 1.0, -0.8169841002263304, -1.7187189307425548]
frame = 422; affine = [1.0, 0.0, 0.0, 1.0, -1.2287690819253474, -3.146596959402314]
frame = 423; affine = [1.0, 0.0, 0.0, 1.0, -1.5616472095061054, -2.168646297209426]
frame = 424; affine = [1.0, 0.0, 0.0, 1.0, -0.8805827849943659, -1.35597081780152]
frame = 425; affine = [1.0, 0.0, 0.0, 1.0, -0.4685070435076004, 0.030476928732871344]
frame = 426; affine = [1.0, 0.0, 0.0, 1.0, -1.1045435065576341, 0.5868514550261996]
frame = 427; affine = [1.0, 0.0, 0.0, 1.0, -0.31880892887554135, 1.2439746381564296]
frame = 428; affine = [1.0, 0.0, 0.0, 1.0, -0.38082079766776866, 1.7332123465314262]
frame = 429; affine = [1.0, 0.0, 0.0, 1.0, -0.4704025194493554, -0.28951821303676645]
frame = 430; affine = [1.0, 0.0, 0.0, 1.0, -0.9480419299045518, -2.7761248608009534]
frame = 431; affine = [1.0, 0.0, 0.0, 1.0, -1.3086249756743593, -2.7646758286814612]
frame = 432; affine = [1.0, 0.0, 0.0, 1.0, -1.3545307868626553, -1.8740649136410077]
frame = 433; affine = [1.0, 0.0, 0.0, 1.0, -0.9154969496802622, -0.5591395376885634]
frame = 434; affine = [1.0, 0.0, 0.0, 1.0, -0.4245343945937281, 0.3229842053940582]
frame = 435; affine = [1.0, 0.0, 0.0, 1.0, -0.953952706612166, 0.8856314759501035]
frame = 436; affine = [1.0, 0.0, 0.0, 1.0, -0.4312884456024939, 1.5761768015691993]
frame = 437; affine = [1.0, 0.0, 0.0, 1.0, -0.19359949491967493, 1.8845406001477956]
frame = 438; affine = [1.0, 0.0, 0.0, 1.0, -0.4139092557862952, -1.4149342362163713]
frame = 439; affine = [1.0, 0.0, 0.0, 1.0, -1.114612500327194, -3.0773418959299543]
frame = 440; affine = [1.0, 0.0, 0.0, 1.0, -1.6187249785626892, -2.219652327457855]
frame = 441; affine = [1.0, 0.0, 0.0, 1.0, -1.247149924778766, -1.2662866971799887]
frame = 442; affine = [1.0, 0.0, 0.0, 1.0, -0.8394140610849088, -0.16882662251775127]
frame = 443; affine = [1.0, 0.0, 0.0, 1.0, -0.7043914819681671, 0.6467870491814813]
frame = 444; affine = [1.0, 0.0, 0.0, 1.0, -0.5950093776546568, 1.35450707567607]

We can now combine output frames into a stabilized video avconv.

avconv -r 23.488 -f image2 -i ./out/%04d.png out.mp4


In [ ]: