编辑
为之前的普遍性道歉!
我想说得更清楚些。
我正在测试一个图像,所以我要编写一些方法来分析图像。不是所有的图像测试将是相同的,所以我想为每个图像一个对象。
我要编写的许多方法并不是在所有图像上运行的。例如,我有一个方法,它使用像素间距常量返回数组点到图像中心的距离,这是图像的一个属性。这里我有一个例子,我读取一个图像,从而创建对象图像,以及一些对我有用的属性。但是我的点对象,属于这个图像,如果它们有自己的类,就不能访问这些属性;有一个点类是很有用的,因为其他分析也使用点,并且使用相同的方法。在class image(object):
def __init__(self, filepath)
#creates an instance of the image from filepath
xscale = self.read_header(xspacing)
xscale = self.read_header(yspacing) #pixels per mm property of image
class point(object):
def __init__(slef, i,j)
self.i = i # array position in image.
self.j = j
self.x = self.i * xscale #real position in mm in image
self.y = self.i * yscale ##but xscale and y scale are not in scope here.
所以问题是。。。像xscale这样的属性和xscale属性是如何依赖于图像的。在我心中我想要图像点允许.x,其中图像点.x依赖于图像.xscale.
一个稍微复杂的问题,我想我们现在可以忽略的是,一个点不应该存在于图像的上下文之外,因为它没有图像属性,比如尺度,就没有任何意义。
我希望这一点更清楚,而且总体上更有用。谢谢您。在
原始问题。
我想要一个开放的形象。图像应该是一个对象,因为有很多方法与之相关。。e、 读取标题信息并给对象很多属性,比如title,sizex,sizey。。。在
然后图像是由点组成的,显然=所以我想我应该有一个点类。然后我可以定义一个Point对象,它可以有属性,比如position(取决于来自图像标题的一些像素间距常量)。这个类有很多点方法,比如距离,改变值,移动,缩放,两点之间的点。。。。等等
我的问题有两个方面。点对象的创建实际上应该取决于图像对象的存在。我不知道python是如何处理这种有条件地创建对象的。其次,点对象必须知道它与之相关的图像对象。理想情况下,我会图像点(x,y)这意味着点x,y存在于图像中,因此它可以访问初始化图像对象时创建的所有变量。我希望这一切都有意义。我试过super,但它似乎不做条件位,它在基类中运行一个方法,我只想在那里有一些可用的变量。在
谢谢你的帮助。在