СПОСОБ И АППАРАТ ДЛЯ МОДИФИКАЦИИ КОНТУРА, СОДЕРЖАЩЕГО ПОСЛЕДОВАТЕЛЬНОСТЬ ТОЧЕК, РАЗМЕЩЕННЫХ НА ИЗОБРАЖЕНИИ
METHOD AND APPARATUS FOR MODIFICATION OF CIRCUIT CONTAINING SEQUENCE OF DOTS LOCATED ON IMAGE

Область техники, к которой относится изобретение
Настоящее изобретение относится к сфере анализа изображений (например, к анализу медицинских изображений) и, в частности, к способу и аппарату для модификации контура, содержащего последовательность точек, размещенных на изображении.
Уровень техники
Анализ изображений является полезным инструментом применительно ко многим ситуациям. Например, анализ медицинских изображений полезен для предоставления информации об анатомических структурах (таких как органы) субъекта, представленных на изображении, полученном с помощью медицинской визуализации. Предоставляемая информация может использоваться для выявления клинической картины субъекта и определения необходимости медицинского вмешательства. Существуют различные техники медицинской визуализации, включая компьютерную томографию (КТ), магнитный резонанс (МР), ультразвук, и т.д. Анализ изображений может быть полезен и во многих других ситуациях.
Зачастую анализ изображений предусматривает размещение или вычерчивание контуров на изображении для обозначения конкретных характеристик, представленных на изображении. Размещение или вычерчивание контуров (таких как полигоны, кривые, линии, фигуры и т.д.) является обычной задачей для маркировки характеристик на изображении. Например, когда речь идет о медицинском изображении, контуры могут обозначать границу между разными анатомическими структурами или разными частями анатомической структуры, или границу интересующей области. Контуры могут предоставить полезную информацию по цифровой патологии, поэтому важно, чтобы они были обозначены правильно. В некоторых случаях контурам может быть назначен индекс со значением релевантным для конкретной сферы (например, в сфере патологии может использоваться такой индекс, как «область опухоли»).
Существует множество инструментов вычерчивания с разнообразными формами взаимодействия с пользователем для вычерчивания контуров. Одной из форм вычерчивания контуров является так называемое произвольное редактирование (англ. «freeform editing»). Оно предусматривает перемещение положения курсора (например, с помощью мыши) или пальца (например, на сенсорном экране) для добавления точек к последовательности. Большинство программных обеспечений, разрешающих вычерчивание контуров, поддерживает произвольное редактирование. Некоторые инструменты предусматривают абсолютно произвольное редактирование, в то время как другие инструменты сглаживают форму контура с помощью, например, сплайнов. Способы, позволяющие пользователю осуществлять вычерчивание способом произвольного редактирования, размещая точки на изображении, известны из уровня техники. Однако в известных способах определенные сложности представляет добавление и удаление точек из последовательности. Например, в режиме произвольного редактирования известные способы не предлагают простого способа стирания ранее нанесенных точек или редактирования ранее вычерченных контуров. Известные способы для вычерчивания контуров произвольной формы также не предлагают простого способа чередования процессов добавления точек и удаления точек из контура.
К примеру, US 2005/0088426 A1 предлагает способ стирания контура. В указанном способе части росчерка пера стираются при контакте стирающего контура с росчерком пера. Однако этот способ содержит только режим стирания и поэтому не позволяет простого переключения между режимами добавления и стирания.
К примеру, Jason Cranford Teague ("Photoshop 7 at Your Fingertips", 26 декабря 2006 (2006-12-26), стр. 254-255, XP055373767), предлагает способ, который автоматически переключается между добавлением узловой точки (англ. «Add Anchor Point Tool») или удалением узловой точки (англ. «Delete Anchor Point Tool») размещением инструмента «перо» над сегментом линии или узловой точкой соответственно.
Сложности с добавлением и удалением точек из контура согласно известным способам свидетельствуют о том, что существующие инструменты редактирования маркировки являются неэффективными. При этом инструменты редактирования маркировки важны для получения тренировочных выборок с изображений для того, чтобы тренировать алгоритмы машинного обучения. Обычно такие алгоритмы машинного обучения тренируются классифицировать область изображения. Тренировочные данные включают контуры, аккуратно вычерченные экспертами. Для максимизации числа маркировок на изображении важно иметь эффективные инструменты вычерчивания.
Таким образом, существует необходимость в усовершенствованном способе и аппарате для модификации контура, содержащего последовательность точек, размещенных на изображении.
Раскрытие сущности изобретения
Как отмечалось выше, ограниченность известных способов заключается в сложности добавления и удаления точек из контура. Поэтому было бы ценно иметь способ и аппарат, который позволял бы модифицировать контур, содержащий последовательность точек, размещенных на изображении, и преодолевал описанные выше сложности.
Так, в соответствии с первым аспектом настоящего изобретения предлагается способ модификации контура, содержащего последовательность точек, размещенных на изображении. Указанный способ включает этапы, на которых осуществляют обнаружение положения перемещаемого индикатора на изображении относительно одной или более точек последовательности, причем перемещаемый индикатор выполнен с возможностью перемещения пользователем, и автоматически удаляют по меньшей мере одну точку из контура, или добавляют по меньшей мере одну точку к контуру, на основании дистанции обнаруженного положения перемещаемого индикатора на изображении от указанных одной или более точек.
Иначе говоря, к контуру автоматически добавляют, или из контура удаляют, по меньшей мере одну точку в зависимости от рассчитанного значения дистанции обнаруженного положения от указанных одной или более точек. В частности, решение и/или выполнение автоматического добавления или удаления по меньшей мере одной точки может зависеть от того, превышает ли указанная дистанция пороговое значение дистанции. Аналогично, решение и/или выполнение может зависеть от того, равно указанное значение или меньше порогового значения дистанции. Иначе говоря, режим стирания или добавления активируют для совершения последующей операции над по меньшей мере одной точкой в зависимости от рассчитанного значения указанной дистанции. Автоматическая активация режима добавления или удаления, также как и выполнение необходимой операции, не требует никакого взаимодействия с пользователем, кроме как перемещения индикатора по экрану. К примеру, в отличие от традиционных решений пользователю не нужно выполнять никаких определенных кликов или касаний экрана для переключения из одного режима в другой и/или для вызова выполнения операции (добавления или удаления), совершаемой над по меньшей мере одной из точек в соответствии с активированным режимом (за исключением некоторых вариантов осуществления, относящихся к созданию самой первой точки контура).
В некоторых вариантах осуществления по меньшей мере одна точка может быть некоторым числом точек, меньшим, чем общее число точек в последовательности точек.
В некоторых вариантах осуществления описанный способ может содержать автоматическое переключение между удалением по меньшей мере одной точки из контура и добавлением по меньшей мере одной точки к контуру на основании дистанции обнаруженного положения перемещаемого индикатора на изображении от указанных одной или более точек.
В некоторых вариантах осуществления удаление по меньшей мере одной точки из контура, или добавление по меньшей мере одной точки к контуру, или в альтернативном варианте - удаление по меньшей мере одной точки из контура и добавление по меньшей мере одной точки к контуру, может основываться на кратчайшей дистанции между обнаруженным положением перемещаемого индикатора на изображении и указанными одной или более точками. В некоторых вариантах осуществления удаление по меньшей мере одной точки из контура, или добавление по меньшей мере одной точки к контуру, или в альтернативном варианте - удаление по меньшей мере одной точки из контура и добавление по меньшей мере одной точки к контуру, может основываться на том, превышает ли кратчайшая дистанция пороговое значение.
В некоторых вариантах осуществления по меньшей мере одна точка может быть удалена из контура, где кратчайшая дистанция равна или меньше порогового значения дистанции. В некоторых вариантах осуществления удаление по меньшей мере одной точки из контура может содержать этап, на котором из контура удаляют точки, расположенные в последовательности точек между обнаруженным положением перемещаемого индикатора и точкой, соответствующей кратчайшей дистанции от обнаруженного положения перемещаемого индикатора. В некоторых вариантах осуществления изобретения по меньшей мере одна точка может быть удалена, только когда указанная по меньшей мере одна точка содержит число точек, превышающее пороговое значение числа точек, или когда длина контура превышает пороговое значение длины.
В некоторых вариантах осуществления удаление по меньшей мере одной точки из контура может содержать определение, содержит ли первая часть последовательности точек или вторая часть последовательности точек точку, соответствующую кратчайшей дистанции от обнаруженного положения перемещаемого индикатора, и удаление точек из указанной части контура, содержащей точку, соответствующую кратчайшей дистанции от обнаруженного положения перемещаемого индикатора.
В некоторых вариантах осуществления по меньшей мере одну точку могут добавить к контуру в обнаруженном положении перемещаемого индикатора там, где кратчайшая дистанция превышает пороговое значение дистанции.
В некоторых вариантах осуществления удаление по меньшей мере одной точки из контура может содержать удаление точек из контура, соответствующих меньшей дистанции, чем заданная, от обнаруженного положения перемещаемого индикатора.
В некоторых вариантах осуществления добавление по меньшей мере одной точки к контуру может содержать добавление по меньшей мере одной точки к контуру в обнаруженном положении перемещаемого индикатора. В некоторых вариантах осуществления способ может содержать этап, на котором указанную по меньшей мере одну добавленную точку соединяют с точкой на контуре, соответствующей кратчайшей дистанции от указанной добавленной точки.
Согласно второму аспекту настоящего изобретения предлагается компьютерный программный продукт, содержащий машиночитаемый носитель, причем указанный машиночитаемый носитель содержит машиночитаемый код, содержащийся на носителе, причем указанный машиночитаемый код выполнен с возможностью того, чтобы при выполнении с помощью подходящего компьютера или процессора указанный компьютер или процесс был вынужден осуществлять способ или способы, описанные выше.
Согласно третьему аспекту настоящего изобретения предлагается аппарат для модификации контура, содержащего последовательность точек, размещенных на изображении. Указанный аппарат содержит процессор, выполненный с возможностью обнаружения положения перемещаемого индикатора на изображении относительно одной или более точек последовательности, причем перемещаемый индикатор выполнен с возможностью перемещения пользователем, удаления по меньшей мере одной точки из контура, добавления по меньшей мере одной точки к контуру, или удаления по меньшей мере одной точки из контура и добавления по меньшей мере одной точки к контуру, на основании дистанции обнаруженного положения перемещаемого индикатора на изображении от указанных одной или более точек.
Описанные выше аспекты и варианты осуществления снимают ограничения, присущие известным техническим решениям. В частности, согласно описанным выше аспектам и вариантам осуществления становится возможной простая и эффективная модификация (или редактирование) контуров добавлением точек к контуру, удалением точек из контура, или совершением обоих из указанных действий. Более того, описанные выше аспекты и варианты осуществления настоящего изобретения позволяют с точностью строить и модифицировать контуры, размещенные на изображениях.
Так, в настоящей заявке предлагается усовершенствованный способ и аппарат для модификации контура, размещенного на изображении, преодолевающий существующие сложности. К контуру автоматически добавляют или из контура автоматически удаляют по меньшей мере одну точку в зависимости от рассчитанного значения дистанции обнаруженного положения от указанных одной или более точек. В частности, решение и/или выполнение автоматического добавления или удаления по меньшей мере одной точки может зависеть от того, превышает ли указанная дистанция пороговое значение дистанции. Аналогичным образом, решение и/или выполнение может зависеть от того, равно ли указанное значение или меньше порогового значения дистанции. Иначе говоря, режим стирания или добавления активируется для выполнения последующей операции, совершаемой над по меньшей мере одной точкой, в зависимости от рассчитанного значения дистанции. Активация режима добавления или удаления, так же как и выполнение необходимой операции, не требует никакого взаимодействия с пользователем, кроме как перемещения индикатора на экране, так как все является автоматизированным. К примеру, в отличие от традиционных решений пользователю не нужно совершать никаких определенных кликов или касаний экрана для переключения из одного режима в другой режим и/или вызова выполнения операции (добавления или удаления), совершаемой над по меньшей мере одной из точек в соответствии с активированным режимом (за исключением некоторых вариантов осуществления, относящихся к созданию самой первой точки контура).
Краткое описание чертежей
Для лучшего понимания изобретения и лучшей демонстрации того, как оно может быть осуществлено, в настоящем описании будут приводиться ссылки, исключительно в качестве примера, на прилагаемые чертежи, где представлено следующее.
Фигура 1 представляет собой блок-схему аппарата согласно одному из вариантов осуществления изобретения;
Фигура 2 представляет собой график последовательности, иллюстрирующий способ согласно одному из вариантов осуществления настоящего изобретения;
Фигура 3 представляет собой иллюстрацию контура согласно одному из вариантов осуществления изобретения;
Фигура 4 представляет собой иллюстрацию контура согласно другому варианту осуществления изобретения; и
Фигура 5 представляет собой иллюстрацию контура согласно другому варианту осуществления изобретения.
Осуществление изобретения
Как было отмечено выше, настоящее изобретение предлагает усовершенствованные способ и аппарат для модификации контура, содержащего последовательность точек, размещенных на изображении, преодолевающие сложности, присущие известным решениям.
На Фигуре 1 представлена блок-схема аппарата 100 согласно одному из вариантов осуществления изобретения. Аппарат может использоваться для модификации контура, содержащего последовательность точек, размещенных на изображении согласно одному из вариантов осуществления изобретения.
Изображение может быть изображением любого вида. Например, изображение может быть медицинским изображением. Примеры медицинского изображения включают, не ограничиваясь этим, изображение компьютерной томографии (КТ), магнитно-резонансное изображение, ультразвуковое изображение, рентгеновское изображение, рентгеноскопичное изображение, изображение позитронно-эммиссионной томографии (ПЭТ), изображение однофотонной эмиссионной компьютерной томографии (ОЭКТ), изображение медицинской радиологии, или другие медицинские изображения. В некоторых вариантах осуществления изобретения изображение может быть изображением анатомической структуры. Анатомическая структура на изображении может быть органом, таким как сердце, легкое, кишечник, почка, печень, или любой другой анатомической структурой. Анатомическая структура на изображении может содержать одну или более анатомических частей. Например, изображение сердца может содержать желудочек, предсердие, аорту и/или любую другую часть сердца.
Изображение может быть двумерным изображением, содержащим множество пикселей, или может содержать множество двумерных изображений, где каждое из двумерных изображений содержит множество пикселей и параметр времени в качестве третьего измерения (т.е. изображение анатомической структуры может быть изображением типа 2D+t), трехмерным изображением, содержащим множество вокселей, четырехмерным изображением, содержащим множество (например, последовательность, например, временную последовательность) трехмерных изображений, причем каждое из трехмерных изображений содержит множество вокселей. В любом из вариантов осуществления контур может служить индикатором границы между разными структурами на изображении, границы между разными частями структуры на изображении, границы интересующей области на изображении, и т.д.
Хотя в настоящем описании приведены примеры для конкретного вида изображения, должно быть очевидно, что изобретение может использоваться для модификации контура, размещенного на изображении любого вида.
На Фигуре 1 аппарат 100 содержит процессор 102, который управляет работой аппарата 100 и может осуществлять описанный здесь способ. Процессор 102 может содержать один или более процессоров, блоки обработки данных, многоядерные процессоры или модули, выполненные с возможностью или запрограммированные с возможностью управления аппаратом 100 описанным здесь образом. В некоторых вариантах осуществления процессор 102 может содержать множество модулей программного обеспечения и/или аппаратные модули, где каждый из модулей выполнен с возможностью осуществления или для осуществления отдельных или множественных этапов способа согласно вариантам осуществления настоящего изобретения.
В нескольких словах, процессор 102 выполнен с возможностью обнаружения положения перемещаемого индикатора на изображении относительно одной или более точек последовательности. Перемещаемый индикатор представляет собой индикатор, выполненный с возможностью перемещения пользователем. Процессор 102 также выполнен с возможностью удаления по меньшей мере одной точки из контура, добавления по меньшей мере одной точки к контуру, или совершения обоих действий (т.е. удаления по меньшей мере одной точки из контура и добавления по меньшей мере одной точки к контуру), на основании дистанции обнаруженного положения перемещаемого индикатора на изображении от указанных одной или более точек.
В некоторых вариантах осуществления изобретения аппарат 100 может также содержать по меньшей мере один пользовательский интерфейс 104. В альтернативном варианте, или в качестве дополнения, по меньшей мере один пользовательский интерфейс 104 может быть внешним (т.е. отдельным или удаленным) по отношению к аппарату 100. Например, по меньшей мере один пользовательский интерфейс 104 может быть частью другого устройства.
Пользовательский интерфейс 104 может предназначаться для использования для предоставления пользователю аппарата 100 информации, полученной способом согласно настоящему изобретению. Пользователь может быть любым пользователем аппарата 100. Например, когда изображение является медицинским изображением, пользователем может быть поставщик медицинских услуг, специалист медицинского обслуживания, лицо, осуществляющее уход, субъект или лицо, выполняющее аналогичную роль. Процессор 102 может быть выполнен с возможностью управления одним или более пользовательскими интерфейсами 104 для предоставления информации, полученной способом согласно настоящему изобретению. Например, процессор 102 может быть выполнен с возможностью управления одним или более интерфейсами 104 для воспроизведения (или выдачи, или показа) изображения и контура, содержащего последовательность точек, размещенных на изображении. Процессор 102 может быть также выполнен с возможностью управления одним или более пользовательскими интерфейсами 104 для воспроизведения (или выдачи, или показа) перемещения перемещаемого индикатора относительно контура и воспроизведения модификаций, выполненных над контуром в результате описанного здесь способа. Пользовательский интерфейс 104 может в качестве альтернативы, или дополнения, быть выполнен с возможностью приема вводимой пользователем информации. Иначе говоря, пользовательский интерфейс 104 может позволять пользователю аппарата 100 вручную вводить инструкции, данные или информацию. Например, вводимая пользователем информация может содержать перемещение перемещаемого индикатора относительно контура. Процессор 102 может быть выполнен с возможностью получения вводимой пользователем информации от одного или более пользовательских интерфейсов 104.
Пользовательский интерфейс 104 может быть пользовательским интерфейсом, позволяющим воспроизводить (или выдавать, или показывать) информацию, данные или сигналы пользователю аппарата 100. Альтернативно, или в качестве дополнения, пользовательский интерфейс 104 может быть любым пользовательским интерфейсом, позволяющим пользователю аппарата 100 предоставлять вводимую пользователем информацию, взаимодействовать с/или управлять аппаратом 100. Например, пользовательский интерфейс 104 может содержать один или более переключателей, одну или более клавиш, клавишную панель, клавиатуру, мышь, трекбол, сенсорную панель, сенсорный экран или приложение (например, на смарт-устройстве, таком как планшет или смартфон), экран монитора, графический интерфейс пользователя (ГИП) или другие компоненты воспроизведения визуальной информации, одну или более колонок, один или более микрофонов, или любой другой аудио компонент, один или более элементов освещения, компонент, предоставляющий тактильный фидбэк (например, вибрационную функцию), или любой другой пользовательский интерфейс, или комбинацию пользовательских интерфейсов.
В некоторых вариантах осуществления пользовательский интерфейс, управляемый для воспроизведения (или выдачи, или показа) информации, данных или сигналов пользователю аппарата 100, может быть тем же пользовательским интерфейсом, что позволяет пользователю предоставлять вводимую пользователем информацию, взаимодействовать с и/или управлять аппаратом 100. Например, пользовательским интерфейсом может быть сенсорный экран, управляемый для показа изображения, контура, размещенного на изображении, и перемещаемого индикатора, при этом работа с сенсорным экраном направлена на получение вводимой пользователем информации для перемещения перемещаемого индикатора посредством определенными движениями, прикладываемыми к сенсорному экрану (например, пальцем пользователя, стилосом, или аналогичным инструментом). В других вариантах осуществления пользовательский интерфейс, управляемый для воспроизведения (или выдачи, или показа) информации, данных или сигналов пользователю аппарата 100 может быть иным пользовательским интерфейсом, чем тот, что позволяет пользователю предоставлять вводимую пользователем информацию, взаимодействовать с и/или управлять аппаратом 100. Например, экран монитора может быть выполнен с возможностью его управления, направленного на показ изображения или перемещаемого индикатора, а устройство ввода (такое как мышь, трэкбол, клавишная панель, сенсорная панель, или другие устройства ввода) может управляться для получения вводимой пользователем информации для перемещения перемещаемого индикатора на экране монитора.
В некоторых вариантах осуществления аппарат 100 может также содержать запоминающее устройство 106, выполненное с возможностью хранения программного кода, который может выполнять процессор 102 для осуществления описанного здесь способа. В качестве альтернативы, или в качестве дополнения, одно или более запоминающих устройств 106 может быть внешним (т.е. отдельным или удаленным) по отношению к аппарату 100. Например, одно или более запоминающих устройств 106 может быть частью другого устройства. Запоминающее устройство 106 может использоваться для хранения изображений, информации, данных, сигналов и измерений, полученных или сделанных процессором 102 аппарата 100, или полученных от других интерфейсов, запоминающих устройств или устройств, являющихся внешними относительно аппарата 100. Например, запоминающее устройство 106 может использоваться для хранения любого одного или более изображений, контура, размещенного на изображении (который может соответствовать моменту, предшествующему модификации контура, моменту после одной или более модификаций контура, или тому и другому), или любой другой информации, полученной с помощью описанного здесь способа. Процессор 102 может быть выполнен с возможностью управления запоминающим устройством 106 для хранения информации, полученной описанным здесь способом.
В некоторых вариантах осуществления аппарат 100 может также содержать интерфейс (или электронную схему) 108 связи, позволяющую аппарату 100 связываться с любыми интерфейсами, запоминающими устройствами и устройствами, являющимися внутренними или внешними по отношению к аппарату 100. Интерфейс 108 связи может связываться с любыми интерфейсами, запоминающими устройствами и устройствами посредством беспроводного или проводного соединения. Например, в варианте осуществления, в котором один или более из пользовательских интерфейсов 104 являются внешними по отношению к аппарату 100, интерфейс 108 связи может связываться с одним или более внешними пользовательскими интерфейсами 104 посредством беспроводного или проводного соединения. Аналогичным образом, в варианте осуществления, в котором одно или более запоминающих устройств 106 являются внешними по отношению к аппарату 100, интерфейс 108 связи может связываться с одним или более внешними запоминающими устройствами 106 посредством беспроводного или проводного соединения.
Должно быть очевидно, что на Фигуре 1 изображены только те компоненты, которые необходимы для иллюстрации данного аспекта изобретения, при этом на практике аппарат 100 может содержать дополнительные компоненты помимо тех, что показаны. Например, аппарат 100 может содержать аккумулятор или другой источник питания для питания аппарата 100 или средства для соединения аппарата 100 с главным источником питания.
На Фигуре 2 проиллюстрирован способ 200 для модификации контура согласно одному из вариантов осуществления изобретения. Проиллюстрированный способ 200, в целом, может осуществляться процессором 102 аппарата 100, или под контролем процессора 102 аппарата 100.
Хотя это не показано на Фигуре 2, изображение может воспроизводиться (или выдаваться, или показываться) пользователю посредством пользовательского интерфейса, такого как те, что были описаны выше. За счет этого пользователь может видеть изображение для того, чтобы модифицировать контур, размещенный на изображении. Контур содержит последовательность (или серию) точек, размещенных на изображении. Последовательность точек может быть упорядоченной последовательностью от начала контура до конца контура. Контур может принимать любую форму и может, например, содержать любой один или более из таких элементов, как полигоны, кривые, линии, фигуры и прочее. В некоторых вариантах осуществления каждая точка в последовательности точек может быть соединена со следующей точкой последовательности посредством линейного сегмента. Однако несмотря на описанные примеры формы контура, должно быть очевидно, что контур может иметь любую другую форму.
Хотя это не показано на Фигуре 2, способ может содержать этап изначального размещения контура на изображении. В некоторых вариантах осуществления изначальное размещение контура на изображении может содержать этапы, на которых пользователь изначально размещает контур на изображении при помощи пользовательского интерфейса, как те, что были описаны выше. Например, изначальное размещение контура на изображении может содержать этап, на котором пользователь чертит контур на изображении, или наносит (или вставляет) контур, извлеченный из запоминающего устройства, на изображение. В других вариантах осуществления изначальное размещение контура на изображении может содержать изначальное размещение контура процессором 102 аппарата 100 на изображении для последующей модификации пользователем. Например, процессор 102 может быть выполнен с возможностью обнаружения одной или более характеристик (таких как граница, или интересующая область, или любая другая характеристика) на изображении и положения контура на изображении относительно обнаруженных характеристик.
Контур, содержащий последовательность точек, размещенных на изображении, может быть затем модифицирован пользователем. Контур может быть модифицирован посредством перемещения перемещаемого индикатора. В частности, одним лишь перемещением индикатора на изображении контур автоматически модифицируют, удаляя (или стирая) по меньшей мере одну точку из контура, добавляя по меньшей мере одну точку к контуру, или совершая оба действия (т.е. удаляя по меньшей мере одну точку из контура и добавляя по меньшей мере одну точку к контуру). Там, где добавляют по меньшей мере одну точку к контуру, указанная по меньшей мере одна точка может быть добавлена в обнаруженном положении перемещаемого индикатора. Расстояние между точками, добавленными к контуру, может, в некоторых вариантах осуществления, зависеть от скорости, с которой перемещаемый индикатор перемещается для размещения контура на изображении. Например, перемещение перемещаемого индикатора с более высокой скоростью может приводить к добавлению меньшего количества точек к контуру, чем в случае перемещения перемещаемого индикатора с более низкой скоростью.
Как было отмечено выше, перемещаемый индикатор может перемещаться пользователем при помощи пользовательского интерфейса, как те, что были описаны выше. В некоторых вариантах осуществления перемещаемый индикатор может содержать курсор, перемещаемый пользователем. Например, перемещаемый курсор может перемещаться пользователем посредством позиционирующего устройства (например, клавишной панели, мыши, трекбола, сенсорной панели, или любого другого позиционирующего устройства). В некоторых вариантах осуществления пользовательский интерфейс может содержать сенсорный экран, и перемещение индикатора может быть движением, прикладываемым к сенсорному экрану пользователем. Например, указанное движение может предусматривать, что пользователь перемещает палец или стилус на сенсорном экране.
Таким образом, пользователь может модифицировать контур, содержащий последовательность точек, размещенных на изображении, только посредством перемещения перемещаемого индикатора. На Фигуре 2 на этапе 202 сначала осуществляют обнаружение положения перемещаемого индикатора на изображении относительно одной или более точек последовательности. Положение перемещаемого индикатора является положением перемещаемого индикатора на пользовательском интерфейсе (например, экране монитора), который воспроизводит (или выдает, или показывает) изображение.
На этапе 204 из контура автоматически удаляют (или стирают) по меньшей мере одну точку, к контуру автоматически добавляют по меньшей мере одну точку, или из контура автоматически удаляют (или стирают) по меньшей мере одну точку и к контуру автоматически добавляют по меньшей мере одну точку, на основании дистанции обнаруженного положения перемещаемого индикатора на изображении относительно указанных одной или более точек. Таким образом, автоматическое решение или выполнение добавления одной или более новых точек к контуру, удаления одной или более имеющихся точек из контура, или добавления одной или более новых точек к контуру и удаления одной или более точек из контура (или, иначе говоря, выбор режима работы и его непосредственное применение к точкам), зависит от дистанции обнаруженного положения перемещаемого индикатора на изображении от (или относительно) указанных одной или более точек, уже имеющихся в последовательности точек контура. Так, контур, содержащий последовательность точек, размещенных на изображении, может быть модифицирован. В некоторых вариантах осуществления новую точку могут автоматически добавить к контуру, только когда обнаружено движение перемещаемого индикатора.
В любых из описанных здесь вариантах осуществления способ может предусматривать автоматическое переключение между удалением по меньшей мере одной точки из контура и добавлением по меньшей мере одной точки к контуру на основании дистанции обнаруженного положения перемещаемого индикатора на изображении от указанных одной или более точек. Таким образом, на основании текущего местоположения перемещаемого индикатора относительно контура, относительно точек, уже присутствующих на контуре, процессор 102 аппарата 100 может иметь возможность переключения между добавлением одной или более новых точек к контуру и удалением одной или более имеющихся точек из контура. Это позволяет эффективно и точно строить и редактировать контуры (например, контуры, имеющие определенные формы).
В любых из описанных здесь вариантах осуществления по меньшей мере одна точка, автоматически добавляемая к контуру, или по меньшей мере одна точка, удаляемая из контура, может содержать некоторое число точек, меньшее общего числа точек в последовательности точек. Удаление по меньшей мере одной точки из контура означает, что в последовательности контура остается по меньшей мере несколько точек. Иначе говоря, стирают только часть контура.
На Фигуре 3 представлена иллюстрация контура 300 согласно примеру одного из вариантов осуществления.
Как проиллюстрировано на примере варианта осуществления, представленного на Фигуре 3, контур 300 содержит последовательность точек от  до , размещенных на изображении (не показано), где  - это общее число точек в последовательности. В этом варианте осуществления каждая точка от  до  в последовательности точек соединена со следующей точкой в последовательности посредством линейного сегмента. Например, точка  соединена с точкой , точка  соединена с точкой , и так далее, вплоть до последней точки в последовательности . Изначальное размещение контура 300 на изображении может быть осуществлено любым из способов, описанных выше.
Контур 300, содержащий последовательность точек, размещенных на изображении, далее модифицируется пользователем перемещением перемещаемого индикатора, как было описано выше со ссылкой на Фигуру 2. В частности, как было описано выше со ссылкой на Фигуру 2, осуществляют обнаружение положения перемещаемого индикатора на изображении относительно одной или более точек последовательности (этап 202 на Фигуре 2), и из контура 300 удаляют по меньшей мере одну точку, к контуру 300 добавляют по меньшей мере одну точку, или из контура 300 удаляют по меньшей мере одну точку и к контуру 300 добавляют по меньшей мере одну точку, на основании дистанции обнаруженного положения перемещаемого индикатора на изображении от указанных одной или более точек (этап 204 на Фигуре 2). Никакого другого взаимодействия с пользователем, кроме указанного перемещения, не требуется, что делает описанный способ полностью автоматическим.
Как показано в примере варианта осуществления изобретения, представленном на Фигуре 3, автоматическое удаление по меньшей мере одной точки из контура 300, добавление по меньшей мере одной точки к контуру 300, или удаление по меньшей мере одной точки из контура 300 и добавление по меньшей мере одной точки к контуру 300, основывается на кратчайшей дистанции  между обнаруженным положением перемещаемого индикатора на изображении и указанными одной или более точками. Например, в некоторых вариантах осуществления удаление по меньшей мере одной точки из контура 300, добавление по меньшей мере одной точки к контуру 300, или оба действия (т.е. удаление по меньшей мере одной точки из контура 300 и добавление по меньшей мере одной точки к контуру 300) основывается на том, превышает ли кратчайшая дистанция  пороговое значение  дистанции. Пороговое значение  дистанции может быть параметром, задаваемым пользователем.
Там, где кратчайшая дистанция  превышает пороговое значение  дистанции (т.е. там, где ), к контуру 300 в обнаруженном положении перемещаемого индикатора добавляют по меньшей мере одну точку. Там, где кратчайшая дистанция  равна или меньше порогового значения  дистанции (т.е. там, где ), из контура 300 удаляют по меньшей мере одну точку. В этом случае к контуру 300 в обнаруженном положении перемещаемого индикатора может быть добавлена по меньшей мере одна точка. В дополнение к этому, в некоторых вариантах осуществления по меньшей мере одну добавленную точку могут соединить с точкой на контуре 300, соответствующей кратчайшей дистанции от добавленной точки.
В примере, проиллюстрированном на Фигуре 3, автоматическое удаление по меньшей мере одной точки из контура 300 включает этап удаления точек из контура 300, расположенных в последовательности точек между обнаруженным положением перемещаемого индикатора и точкой, соответствующей кратчайшей дистанции  от обнаруженного положения перемещаемого индикатора. В некоторых вариантах осуществления по меньшей мере одну точку удаляют только там, где по меньшей мере одна точка содержит большее, чем пороговое число точек, или длина контура 300 (например, сумма длины линейных сегментов, соединяющих последовательность точек контура) превышает пороговое значение длины.
В примере, проиллюстрированном на Фигуре 3, для того, чтобы найти кратчайшую дистанцию  между обнаруженным положением перемещаемого индикатора на изображении и одной или более точками в части контура 300, определяют дистанцию перемещаемого индикатора на изображении до одной или более точек в этой части контура 300. В частности, определяют дистанцию перемещаемого индикатора на изображении до каждой из точек от до , чтобы найти кратчайшую дистанцию  между обнаруженным положением перемещаемого индикатора на изображении и этими точками. Последние  точек в последовательности контура 300 не принимаются во внимание во избежание удаления последних точек в последовательности. В проиллюстрированном примере значение  задано равным 5. Однако должно быть понятно, что значение  может быть задано любым целым числом, меньшим общего числа точек .
В примере, проиллюстрированном на Фигуре 3(a), кратчайшая дистанция  находится между обнаруженным положением перемещаемого индикатора на изображении и точкой . Так как кратчайшая дистанция  между обнаруженным положением перемещаемого индикатора на изображении и точками от  до  превышает пороговое значение  дистанции (т.е. ), в обнаруженном положении перемещаемого индикатора к контуру 300 добавляют точку . Добавленную точку  соединяют с точкой , являющейся точкой на контуре 300, соответствующей кратчайшей дистанции от добавленной точки . Иначе говоря, создают новое соединение, которое соединяет точку  с остальным контуром 300.
Аналогичным образом, в примере, проиллюстрированном на Фигуре 3(b), несмотря на то, что со временем длина контура 300 увеличилась в результате добавления большего числа точек, и несмотря на то, что контур 300 сделал крутой поворот, к контуру, тем не менее, добавляют другую точку  в текущем обнаруженном положении перемещаемого индикатора на изображении, так как кратчайшая дистанция  между обнаруженным положением перемещаемого индикатора и точками от  до  превышает пороговое значение  дистанции (т.е. так как ). В примере, проиллюстрированном на Фигуре 3(b), кратчайшая дистанция  находится между обнаруженным положением перемещаемого индикатора на изображении и точкой . Добавленную точку  соединяют с точкой , являющейся точкой на контуре 300, соответствующей кратчайшей дистанции от добавленной точки . Иначе говоря, создают новое соединение, которое соединяет точку  с остальным контуром 300.
В примере, проиллюстрированном на Фигуре 3(c), кратчайшая дистанция  между обнаруженным положением перемещаемого индикатора и точками от  до  равна или меньше порогового значения  дистанции (т.е. ). Таким образом, все точки, расположенные в последовательности точек между обнаруженным положением перемещаемого индикатора (или от конца контура 300) и точкой, соответствующей кратчайшей дистанции  от обнаруженного положения перемещаемого индикатора (или точкой, в которой достигается минимальная дистанция обнаруженного положения перемещаемого индикатора), оказываются удалены из контура 300. Как проиллюстрировано на Фигуре 3(c), оставшиеся точки в последовательности затем становятся точками от до . В проиллюстрированном примере в обнаруженном положении перемещаемого индикатора к контуру 300 также добавляют точку . Добавленную точку  соединяют с точкой , являющейся точкой на контуре 300, соответствующей кратчайшей дистанции от добавленной точки . Иначе говоря, создают новое соединение, которое соединяет точку  с остальным контуром 300.
Пример, показанный на Фигуре 3, иллюстрирует автоматическое переключение между добавлением точек к контуру 300 и удалением точек из контура 300 на основании текущего положения перемещаемого индикатора и кратчайшей дистанции положения перемещаемого индикатора до точек на контуре 300.
Фигура 4 представляет собой иллюстрацию контура 400 согласно примеру другого варианта осуществления.
Как показано в примере варианта осуществления, представленном на Фигуре 4, на изображении размещен (не показано) контур 400, содержащий последовательность точек от  до , где  является общим числом точек в последовательности. В данном примере варианта осуществления каждая точка от  до  в последовательности точек соединены со следующей точкой в последовательности посредством линейного сегмента. К примеру, точка  соединена с точкой , точка  соединена с точкой , и так далее, вплоть до последней точки в последовательности . Изначальное размещение контура 400 на изображении может быть осуществлено любым из описанных выше способов.
Контур 400, содержащий последовательность точек, размещенных на изображении, затем модифицируется пользователем лишь посредством перемещения перемещаемого индикатора, как это было описано со ссылкой на Фигуру 2. В частности, как это было описано со ссылкой на Фигуру 2, определяют положение перемещаемого индикатора на изображении относительно одной или более точек последовательности (этап 202 на Фигуре 2), и из контура автоматически удаляют по меньшей мере одну точку, к контуру добавляют по меньшей мере одну точку, или, в качестве альтернативы, из контура удаляют по меньшей мере одну точку и к контуру добавляют по меньшей мере одну точку, на основании дистанции обнаруженного положения перемещаемого индикатора на изображении от указанных одной или более точек (этап 204 на Фигуре 2).
В примере, представленном на Фигуре 4, удаление по меньшей мере одной точки из контура 400, добавление по меньшей мере одной точки к контуру 400, или, в качестве альтернативы, удаление по меньшей мере одной точки из контура 400 и добавление по меньшей мере одной точки к контуру 400, основывается на кратчайшей дистанции  между обнаруженным положением перемещаемого индикатора на изображении и указанными одной или более точками. К примеру, в некоторых вариантах осуществления удаление по меньшей мере одной точки из контура 400, добавление по меньшей мере одной точки к контуру 400, или, в качестве альтернативы, оба действия (т.е. удаление по меньшей мере одной точки из контура 400 и добавление по меньшей мере одной точки к контуру 400) основывается на том, превышает ли кратчайшая дистанция  пороговое значение  дистанции. Пороговое значение  дистанции может быть параметром, задаваемым пользователем.
Там, где кратчайшая дистанция  превышает пороговое значение  дистанции (т.е. там, где ), к контуру 400 в обнаруженном положении перемещаемого индикатора добавляют по меньшей мере одну точку. Там, где кратчайшая дистанция  равна или меньше порогового значения  дистанции (т.е. там, где ), из контура 400 удаляют по меньшей мере одну точку. В этом случае к контуру 400 в обнаруженном положении перемещаемого индикатора может быть также добавлена по меньшей мере одна точка. В дополнение к этому, в некоторых вариантах осуществления по меньшей мере одну добавленную точку могут соединить с точкой на контуре 400, соответствующей кратчайшей дистанции от добавленной точки.
В примере, проиллюстрированном на Фигуре 4, определяют дистанцию перемещаемого индикатора на изображении до одной или более точек в части контура 400 для того, чтобы найти кратчайшую дистанцию  между обнаруженным положением перемещаемого индикатора на изображении и указанными одной или более точками в этой части контура 400. В проиллюстрированном примере кратчайшая дистанция  находится между обнаруженным положением перемещаемого индикатора на изображении и точкой . Кратчайшая дистанция  равна или меньше порогового значения  дистанции (т.е. ). Это значит, что из контура 400 автоматически удаляют по меньшей мере одну точку.
Для того, чтобы определить, из какого конца контура 400 удалить по меньшей мере одну точку, в примере, проиллюстрированном на Фигуре 4, определяют, содержит ли первая часть последовательности точек или вторая часть последовательности точек точку, соответствующую кратчайшей дистанции от обнаруженного положения перемещаемого индикатора. Затем удаляют точки из той части контура 400, которая содержит точку, соответствующую кратчайшей дистанции обнаруженного положения перемещаемого индикатора. В проиллюстрированном примере определяют, содержит ли первая половина 402 последовательности точек или вторая половина 404 последовательности точек точку, соответствующую кратчайшей дистанции от обнаруженного положения перемещаемого индикатора. Первая половина 402 и вторая половина 404 контура 400 могут быть определены положением на контуре 400, соответствующим середине (т.е. половине длины) длины контура 400. Так как определяют, что первая половина 402 последовательности точек содержит точку, соответствующую кратчайшей дистанции от обнаруженного положения перемещаемого индикатора, хотя это и не проиллюстрировано на Фигуре 4, точки из первой половины контура 400 автоматически удаляют. В частности, точки удаляют из начала последовательности в первой половине контура 400. В некоторых вариантах осуществления точки в первой половине контура 400 могут автоматически удалять по одной, в один момент времени, по мере перемещения перемещаемого индикатора ближе к началу последовательности в первой половине контура 400.
В проиллюстрированном примере на Фигуре 4 к контуру 400 в обнаруженном положении перемещаемого индикатора также автоматически добавляют точку . Добавленную точку  соединяют с точкой , являющейся точкой на контуре 400, соответствующей кратчайшей дистанции от добавленной точки  после того, как точки оказываются удалены из начала первой половины 401 последовательности точек на контуре 400. Иначе говоря, автоматически создают новое соединение для соединения точки  с остальным контуром 400. Содержание точек в первой половине обновляется динамичным образом по мере выполнения описанной операции.
В целом, должно быть понятно, что в конкретной ситуации, проиллюстрированной на Фигуре 4, где индикатор расположен в непосредственной близости к первой половине последовательности, некая точка была удалена и некая точка была добавлена. Обычно эти две операции могут выполняться одновременно на основании параллельной обработки данных. Таким образом, в некоторых вариантах осуществления, когда индикатор перемещается к первой половине 402 последовательности точек и достигает пороговое значение дистанции, (например) точку k-N, точку k-N автоматически удаляют из контура и - одновременно или незадолго после, но все в том же самом положении - к контуру автоматически добавляют новую точку. Результатом такой операции может считаться автоматическая замена пространственного положения точки k-N в первой половине последовательности новой точкой k, расположенной ближе к концу последовательности, осуществляемая лишь за счет продолжения перемещения индикатора. Так, к примеру, можно автоматически регулировать положение(я) постоянно обновляемой первой половины контура лишь перемещением индикатора в отрегулированные положения.
Фигура 5 представляет иллюстрацию контура 500 согласно примеру другого варианта осуществления изобретения.
Контур 500 в проиллюстрированном примере на Фигуре 5 является замкнутым контуром, т.е. указанный контур имеет замкнутую форму или представляет собой полигон. Контур 500 содержит последовательность точек, размещенных на изображении (не показано). В данном варианте осуществления каждая точка в последовательности точек соединена со следующей точкой в последовательности посредством линейного сегмента. Изначальное размещение контура 500 на изображении может быть осуществлено любым из описанных выше способов.
Контур 500, содержащий последовательность точек, размещенных на изображении, модифицируется пользователем лишь посредством перемещения перемещаемого индикатора, как было описано ранее со ссылкой на Фигуру 2. В частности, как было описано ранее со ссылкой на Фигуру 2, определяют положение перемещаемого индикатора на изображении относительно одной или более точек последовательности (этап 202 на Фигуре 202) и автоматически из контура 500 удаляют по меньшей мере одну точку, к контуру 500 добавляют по меньшей мере одну точку, или из контура удаляют по меньшей мере одну точку и к контуру добавляют по меньшей мере одну точку, на основании дистанции обнаруженного положения перемещаемого индикатора на изображении от одной или более точек (этап 204 на Фигуре 2). В примере, проиллюстрированном на Фигуре 5, там, где к контуру 500 добавляют по меньшей мере одну точку, указанную по меньшей мере одну точку добавляют к контуру 500 в обнаруженном положении перемещаемого индикатора. В дополнение к этому в некоторых вариантах осуществления указанную по меньшей мере одну точку могут автоматически соединить с точкой на контуре 500, соответствующей кратчайшей дистанции от добавленной точки.
Как показано на Фигуре 5, согласно представленному примеру варианта осуществления автоматическое удаление по меньшей мере одной точки из контура 500 основывается на том, находятся ли точки в последовательности на дистанции от обнаруженного положения перемещаемого индикатора, меньшей заданной дистанции. А именно, удаление по меньшей мере одной точки из контура 500 основывается на том, попадают ли точки в последовательности в заданный радиус  (или находятся на дистанции, меньшей заданной радиальной дистанции) от обнаруженного положения перемещаемого индикатора. В частности, удаление по меньшей мере одной точки из контура 500 содержит удаление точек из контура 500, находящихся на дистанции, меньше заданной дистанции (или, точнее, меньше заданного радиуса или меньше заданной радиальной дистанции) от обнаруженного положения перемещаемого индикатора. То есть, когда перемещаемый индикатор располагается ближе, чем заданная дистанция (или, точнее, ближе, чем на расстоянии заданного радиуса или ближе, чем на расстоянии заданной радиальной дистанции) от одной или более точек контура 500, закрытый контур 500 автоматически открывают посредством удаления одной или более точек, как показано на Фигуре 5(b). Так, могут автоматически открыть контур, ближайший к обнаруженному положению перемещаемого индикатора, когда на изображении расположено множество контуров.
Как показано на Фигуре 5(b), в дополнение к удалению точек в проиллюстрированном примере к контуру 500 в обнаруженном положении перемещаемого индикатора автоматически добавляют точку . Добавленную точку  соединяют с точкой на контуре 500, соответствующей кратчайшей дистанции от добавленной точки . Иначе говоря, автоматически создают новое соединение для соединения точки  с остальным контуром 500. Таким образом, точку  добавляют к ближайшему концу открытой части контура 500.
В настоящем описании предложен усовершенствованный способ и аппарат для автоматической модификации контура, содержащего последовательность точек, размещенных на изображении. Описанные здесь способ и аппарат могут быть использованы для модификации контуров на любом произвольном изображении (например, медицинском изображении анатомической структуры или изображении другого типа). Способ и аппарат могут быть полезны в инструментах анализа изображений и визуализации.
Кроме того, предложен компьютерный программный продукт, содержащий машиночитаемый носитель, причем указанный машиночитаемый носитель содержит машиночитаемый код, содержащийся на носителе, причем указанный машиночитаемый код выполнен с возможностью того, чтобы при выполнении с помощью подходящего компьютера или процессора указанный компьютер или процесс был вынужден осуществлять указанный способ. Таким образом, должно быть очевидно, что настоящее изобретение также относится к компьютерным программам, в частности, к компьютерным программам на или в носителе, адаптированном для практического осуществления изобретения. Программа может иметь вид программного кода, объектного кода, промежуточного программного кода и объектного кода, например, в частично скомпилированной форме или в любой другой форме, подходящей для использования при выполнении способа согласно настоящему изобретению.
Должно быть очевидно, что такая программа может иметь разнообразное проектирование архитектуры. Например, программный код, выполняющий функции способа или системы согласно настоящему изобретению, может быть разделен на одну или более подпрограмм. Специалисту в данной области техники будет очевидно существование множества различных способов распределения описанных функций по таким подпрограммам. Подпрограммы могут храниться вместе в одном выполняемом файле, формируя таким образом одну независимую программу. Такой выполняемый файл может содержать выполняемые компьютером инструкции, например, инструкции для процессора и/или инструкции для преобразователя (например, инструкции для Java преобразователя). В альтернативном варианте одна или все подпрограммы могут храниться в по меньшей мере одном файле внешней библиотеки и связываться ссылкой с главной программой либо статичным, либо динамичным образом, т.е. во время работы. Главная программа содержит по меньшей мере одно обращение к по меньшей мере одной подпрограмме. Подпрограммы могут также содержать функциональные вызовы друг к другу.
Вариант осуществления, относящийся к компьютерному программному продукту, содержит машиночитаемые инструкции, соответствующие каждому этапу обработки по меньшей мере одного из описанных здесь способов. Эти инструкции могут быть разделены на подпрограммы и/или храниться в одном файле, и могут связываться ссылкой статичным или динамичным образом. Другой вариант осуществления, относящийся к компьютерному программному продукту, содержит машиночитаемые инструкции, относящиеся к каждому средству по меньшей мере одной из систем и/или продуктов, описанных здесь. Эти инструкции могут быть разделены на подпрограммы и/или могут храниться в одном файле, который может связываться ссылкой статичным или динамичным образом.
Носитель компьютерной программы может быть любым модулем или устройством, способным переносить программу. Например, под носителем может подразумеваться запоминающее устройство, такое как постоянное запоминающее устройство (ПЗУ), например, запоминающее устройство на компакт-диске или полупроводниковое запоминающее устройство, или магнитный носитель информации, например, жесткий диск. Более того, носитель может быть передаваемым носителем, например, электрическим или оптическим сигналом, который передается по электрическому или оптическому кабелю или по радио, или другими способами. Когда программа воплощена в виде сигнала, носитель может состоять из соответствующего кабеля или другого устройства или средств. В альтернативном варианте носитель может быть интегральной схемой, на которой представлена программа, при этом интегральная схема адаптирована для выполнения, или использования при выполнении, релевантного способа.
При реализации настоящего изобретения специалисты в данной области техники могут распознать и воплотить разнообразные вариации описанных вариантов осуществления, изучив чертежи, описание и представленную ниже формулу изобретения.
К примеру, специалисту в данной области техники будет очевидно, что изобретение включает в себя способ, систему и аппарат для создания нового контура. Так, все варианты осуществления, описанные выше, могут использоваться после размещения начальной (стартовой) точки для нового контура. Для начального размещения может быть выбран любой способ взаимодействия с пользователем с целью обнаружения места, где должна быть размещена первая точка, например, для обнаружения такого места может быть использован начальный клик или начальное прикосновение экрана пальцем. Должно быть очевидно, что завершение контура также может быть выполнено посредством обнаружения заданного события взаимодействия, например, размещения завершающей точки совершением клика во второй раз или остановкой прикосновения экрана пальцем. Следует отметить, что в описанных способах взаимодействие остается простым и эффективным.
В формуле изобретения слово "содержащий" не исключает другие элементы и этапы, а форма единственного числа не исключает множественность. Единственный процессор или другой аппарат может выполнять функции нескольких элементов, указанных в формуле. Лишь тот факт, что некоторые средства указаны во взаимно разных, отличающихся, зависимых пунктах не свидетельствует о том, что комбинация таких средств не будет использована в целях усовершенствования. Компьютерная программа может храниться/распространяться на подходящем носителе, например, на оптическом носителе данных или твердотельном носителе, укомплектованных вместе с или как часть аппаратного оборудования, но также может распространяться в любой другой форме, например, посредством интернета или других проводных или беспроводных телекоммуникационных систем. Ни одна ссылочная позиция в формуле не подразумевает ограничение объема притязаний.