我刚刚将一些CT重建软件从IDL翻译成了Python,这是我有史以来第一次使用Python。代码工作得很好,除了它更慢,更慢。这部分是因为IDL允许我通过一次只读取一行图像来节省内存和时间,使用以下内容:
image = read_tiff(filename, sub_rect = [0, slice, x, 1])
我需要从1800个不同的投影图像中读取一行,但据我所知,我只能通过读取整个图像然后将其转换为数组来创建图像阵列。是否有任何技巧可以从头开始读取,因为我不需要其他2047行?
答案 0 :(得分:1)
看起来像Christoph Gohlke(http://www.lfd.uci.edu/~gohlke/code/tifffile.py.html)的tifffile.py可以完成这项工作。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="positional">
<a href="#about">
<div class="about click" data-text="Find out about us" data-padding="37">About</div>
</a>
<a href="#friends">
<div class="friends click" data-text="Meet our Friends" data-padding="57">Friends</div>
</a>
<a href="#">
<div class="purpose click" data-text="See our purpose" data-padding="97">Purpose</div>
</a>
<a href="#">
<div class="empowerment click" data-text="Be empowered!" data-padding="17">Empowerment</div>
</a>
<a href="#contact">
<div class="contact click" data-text="Contact us" data-padding="69">Contact Us</div>
</a>
<a href="#">
<div class="passion click" data-text="Yay, passion!" data-padding="88">Passion</div>
</a>
<div class="clickable7"></div>
如果我正确解释代码,这将提取文件中每个页面的第一行,而不将整个文件加载到内存中(通过numpy.memmap)。