我正在使用C的CFITSIO库读取大型FITS图像。首先,实际图像/像素不被读入。只有当某种操作需要完成时(比如平均几张图像)将图像作为双数组加载到内存中。我将每个图像表示为一个ImageListing类型的对象(一个自定义类)。这个类知道如何读写适合文件。NSData适用于大型c数组吗?
为了表示一系列图像,我在另一个类中使用了一个名为ImageStacker的NSMutableArray。 ImageStacker实现了可以平均,减去,求和图像的方法。显然,为了完成这些操作,这个类需要访问原始像素,它通过发送消息returnPixelsFrom:(NSInteger)Row
获得。
我的问题是,应当I:
1)阅读在上述提到的方法中的像素,但是它们读成C阵列(double型)多数民众赞成通过引用传递。
OR
2)I应该阅读像素划分为本地C数组,但然后撰写使用dataWithBytes:length
一个NSData对象和从所述方法返回该对象。
选项2对1有什么优势?请记住,当平均/添加像素时,我将不得不使用C数组,所以为此目的继续使用纯粹的C数组不是更好吗?
我真的很好奇 - 是什么指向你使用NSData的呢? – 2011-04-05 08:07:19
读取NSData类参考给我的印象是,如果我们想要在Cocoa中处理原始数据,这是一条路。但我同意你的看法,对我来说这似乎是一个毫无意义的练习,因为我所做的只是将NSData对象从数据中提取出来,然后在需要处理时再次分解它。感谢您的回应。 – saad 2011-04-05 12:58:52