Редактировать
Извинения за предыдущую общность!
Я стараюсь быть более ясным.Я тестирую изображение, поэтому я должен написать ряд методов, которые будут выполняться для анализа изображения.Не все тестируемые изображения будут одинаковыми, и поэтому я хочу объект для каждого изображения.Многие из методов, которые я должен написать, не работают на всех изображениях.Например, у меня есть метод, который возвращает расстояние точки массива от центра изображения, используя постоянную расстояния между пикселями, которая является атрибутом изображения.Здесь у меня есть пример, я читаю изображение и тем самым создаю изображение объекта и некоторые атрибуты, которые будут мне полезны.Но мои точечные объекты, которые «принадлежат» на этом изображении, не будут иметь доступа к этим атрибутам, если у них есть собственный класс;полезно иметь класс точек, потому что другой анализ также использует точки и использует те же методы.
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 и yscale.По-моему, я хочу разрешить image.point.x, где image.point.x зависит от image.xscale.Небольшое осложнение, которое, я думаю, мы, вероятно, можем пока игнорировать, состоит в том, что нельзя допускать, чтобы точка существовала вне контекста изображения, потому что это ничего не значит для того, чтобы иметь точку без атрибутов изображения, например масштаб.Я надеюсь, что это понятнее и в целом более полезно.Спасибо.
Национальный вопрос.
Я хотел бы иметь открытое изображение.Изображение должно быть объектом, так как с ним связано множество методов .. например, чтение информации заголовка и предоставление объекту множества атрибутов, таких как title, sizex, sizey ...
Тогда изображения состоят изОчки, очевидно = так что я думал, что у меня будет класс очков.Затем я мог бы определить объект Point, и он мог бы иметь атрибуты, например, положение (в зависимости от некоторых констант пикселей в заголовке изображения).И у этого класса будет много точечных методов, таких как расстояние, изменение значения, перемещение, масштабирование, опрос между двумя точками ... и т. Д.
Моя проблема двоякая.Создание точечных объектов должно действительно зависеть от наличия объекта изображения.Я не знаю, как python обрабатывает такие условные объекты.И, во-вторых, точечный объект должен знать объект изображения, к которому он относится.В идеале, у меня будет Image.Point (x, y), и это будет означать, что точка x, y существует внутри изображения, и поэтому он может иметь доступ ко всем переменным, созданным при инициализации объекта изображения.Я надеюсь, что все это имеет смысл.Я пробовал super, но он, похоже, не выполняет условный бит, и он запускает метод в базовом классе, где я просто хочу иметь некоторые переменные в наличии.
Спасибо за любую помощь.