<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="qrichtext" content="1">
<style type="text/css">
p, li { white-space: pre-wrap; }
</style>
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>Hi there,</div>
<div><br>
</div>
<div>I am new to nibabel (and also python) so maybe I am making an obvious mistake, but I could not find anything in the manual that would help me…</div>
<div><br>
</div>
<div>I am trying to update the sform in a Nifty1 image and save it with:</div>
<div><br>
</div>
<div>
<p style="margin: 0px;"><!--StartFragment-->def update_sform(file_in, file_out, affine_out):</p>
<p style="margin: 0px;">img = nib.load(file_in)</p>
<p style="margin: 0px;">img_hdr = img.header</p>
<p style="margin: 0px;">img_hdr.set_sform(affine_out)</p>
<p style="margin: 0px;">nib.save(img,file_out)<!--EndFragment--></p>
<p style="margin: 0px;"><br>
</p>
<p style="margin: 0px;">However, I realised that due to the comparison between current header and affine:</p>
<p style="margin: 0px;"><br>
</p>
<p style="margin: 0px;">np.allclose(self._affine, hdr.get_best_affine()) [spatialimages.py, line 426]</p>
<p style="margin: 0px;"><br>
</p>
<p style="margin: 0px;">The sform in the header is reset to the affine when I am saving the image. Is there a way to directly set the affine? Or any other method that I can use to achieve this?</p>
<p style="margin: 0px;"><br>
</p>
<p style="margin: 0px;">Thanks in advance,</p>
<p style="margin: 0px;"><br>
</p>
<p style="margin: 0px;">Markus</p>
</div>
</body>
</html>