Методы и системы рентгеновского неразрушающего контроля протяженных объектов тема диссертации и автореферата по ВАК РФ 00.00.00, кандидат наук Ларионов Иван Алексеевич
- Специальность ВАК РФ00.00.00
- Количество страниц 157
Оглавление диссертации кандидат наук Ларионов Иван Алексеевич
ВВЕДЕНИЕ
1 СПОСОБЫ РЕНТГЕНОВСКОГО НЕРАЗРУШАЮЩЕГО КОНТРОЛЯ ПРОТЯЖЕННЫХ ОБЪЕКТОВ
1.1 Рентгенографический контроль протяженных объектов
1.2 Установки для проведения рентгенографических исследований протяженных объектов
1.3 Томографические исследования крупногабаритных и протяженных объектов
1.4 Муфтовые соединения как вид протяженных объектов
2 ОСОБЕННОСТИ РЕНТГЕНОГРАФИЧЕСКОГО КОНТРОЛЯ МУФТОВЫХ СОЕДИНЕНИЙ
2.1 Дефекты муфтовых соединений и методика их оценки
2.2 Обоснование выбора режима исследования методом неразрушающего рентгеновского контроля
2.3 Методика рентгенографического контроля муфтовых соединений
2.4 Рентгенографический метод контроля протяженных объектов в широкорасходящемся пучке
3 ТОМОРАФИЧЕСКИЙ СПОСОБ КОНТРОЛЯ МУФТОВЫХ СОЕДИНЕНИЙ И ОСОБЕННОСТИ ДЕТЕКТИРОВАНИЯ ИХ ДЕФЕКТОВ
3.1 Методика томографического контроля муфтовых соединений
3.2 Артефакты томографической реконструкции
3.3 Особенности детектирования дефектов муфтовых соединений
3.4 Метод автоматизированного поиска и оценки дефектов, построения их
статистических распределений на основе реконструированных срезов
4 ПРОГРАММНО-АППАРАТНЫЕ СРЕДСТВА РЕНТЕНОГРАФИЧЕСКОГО И ТОМОГРАФИЧЕСКОГО КОНТРОЛЯ ПРОТЯЖЕННЫХ ОБЪЕКТОВ И АНАЛИЗА ПОЛУЧАЕМЫХ РЕЗУЛЬТАТОВ
4.1 Установка неразрушающего рентгеновского контроля РУНК-50
4.2 Программное обеспечение для проведения рентгенографического контроля
4.3 Программное обеспечение для анализа дефектов муфтовых соединений
4.4 Визуализация результатов томографического контроля
4.5 Модуль получения произвольно ориентированных срезов
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
ПРИЛОЖЕНИЕ А
ПРИЛОЖЕНИЕ Б
ПРИЛОЖЕНИЕ В
ПРИЛОЖЕНИЕ Г
ПРИЛОЖЕНИЕ Д
СПИСОК ИСПОЛЬЗУЕМЫХ СОКРАЩЕНИЙ
АКБ - аккумуляторная батарея;
ИРИ - источник рентгеновского излучения;
НИИ - научно-исследовательский институт;
ПО - программное обеспечение;
ППД - плоскопанельный детектор;
РЗК - рентгенозащитная камера;
РТ - рентгеновская трубка;
СП - система перемещений;
СПЭ - сшитый полиэтилен;
ЭВМ - электронно-вычислительная машина;
DICOM - Digital Imaging and Communications in Medicine
JPEG - Joint Photographic Experts Group
TIFF - Tagged Image File Format
VTK - visualization toolkit
ВВЕДЕНИЕ
Рекомендованный список диссертаций по специальности «Другие cпециальности», 00.00.00 шифр ВАК
Методы и системы неразрушающего контроля на основе микрофокусных источников рентгеновского излучения2021 год, кандидат наук Староверов Николай Евгеньевич
Томографический анализ без вращения объекта на основе геометрии рентгеновского пучка2018 год, кандидат наук Оздиев, Али Хосенович
Разработка алгоритмов цифровой обработки данных для радиографических и томографических систем неразрушающего контроля2019 год, кандидат наук Чжун Ян
Автоматизация контроля точечных сварных соединений на основе рентгенографии2013 год, кандидат наук Овечкин, Максим Владимирович
Термоэлектрический контроль металлов геодезических скважин2020 год, кандидат наук Абуеллаиль Ахмед Али Сабри Ахмед Рефаат
Введение диссертации (часть автореферата) на тему «Методы и системы рентгеновского неразрушающего контроля протяженных объектов»
Актуальность работы
В 2018 году в рамках национальной программы «Цифровая экономика Российской Федерации» Министерством цифрового развития, связи и массовых коммуникаций РФ был представлен план развития инфраструктуры связи. Этот план предусматривает строительство широкой сети подводных волоконно-оптических линий связи, соединяющих труднодоступные территории РФ, в т. ч. в арктической зоне. Например, в 2020 году объявлено о строительстве трансарктической магистральной подводной волоконно-оптической линии связи от Мурманска до Владивостока для обеспечения фиксированного широкополосного доступа в интернет в тех районах, где на настоящий момент есть только спутниковая связь, обеспечения создания цифровой инфраструктуры для добычи и транспортировки углеводородов в Арктике и решения задач геологоразведки. С учетом длины прокладываемых участков линий связи остро стоит задача осуществления контроля мест их соединения.
Несмотря на возможность использования различных методов неразрушающего контроля (визуального, акустического, капиллярного, магнитного), основным, в силу целого ряда преимуществ, остается рентгенографический метод. Вместе с тем, применение традиционного рентгенографического метода, в ряде случаев, не позволяет получить достаточно данных для проведения качественной верификации результатов контроля. Применение томографического и рентгенографического способов контроля, учитывающих особенности характерных дефектов протяженных объектов (нарушения сплошности в виде пор, включений и трещин на участках их сочленения), позволяет увеличить диагностическую ценность получаемых результатов, а также повысить выявляемость дефектов в объектах контроля, способствуя повышению надежности изделий. При этом под протяженными
объектами следует понимать изделия для которых один габаритных параметров в разы превышает остальные размеры.
Отмеченное стремительное развитие телекоммуникационных сетей, а также увеличение протяженности линий связи и электропередач ведет к актуализации задач по совершенствованию применяемых методов контроля протяженных объектов, а также разработке, внедрению и испытанию приборов контроля и диагностики, позволяющих повысить надежность изделий. Особую значимость при этом имеет развитие алгоритмического и программно-технического обеспечения с целью повышения автоматизации контроля и диагностики, что повысит оперативность и достоверность проводимых оценок изделий и материалов.
Научный задел, обеспеченный благодаря исследованиям советских и российских ученых, среди которых необходимо выделить: А.В. Лихачева, С.А. Иванова, А.И. Закидальского, О.В. Филониного, В.А. Ерохина, В.С. Шнейдерова, В.Л. Венгриновича, С.А. Терещенко, Э.И. Вайнберга, И.М. Уланова, С.Г. Цыганова, И.С. Грузмана, В.В. Пикалова, В.Л. Чахлова, Н.Н. Потрахова, В.В. Клюева, а также иностранных исследователей, среди которых следует отметить: С. Качмажа, А. М. Кормака, Ф. Натерера, Г. Н. Хаунсфилда, Х. Сузуки, В. Кафтанджан - заложил основы для создания новых способов рентгенографического и томографического контроля, в т. ч. протяженных объектов. Вышесказанное позволяет сформулировать цель диссертационного исследования - повышение выявляемости дефектов в протяженных объектах, исследуемых с помощью рентгенографического и томографического способов контроля, в том числе за счет разработки и внедрения новых аппаратно-программных комплексов для проведения контроля.
Для достижения поставленной цели необходимо решить следующие теоретические и практические задачи:
- провести анализ проблем и особенностей современной материально-технической базы и способов рентгеновского неразрушающего контроля протяженных объектов;
- исследовать возможность внедрения новых схем рентгенографического контроля повышающих выявляемость дефектов муфтовых соединений кабельных линий;
- сравнить результаты традиционного рентгенографического и томографического способов контроля протяженных объектов;
- разработать томографический способ контроля муфтовых соединений и алгоритмы автоматического определения характерных дефектов в протяженных объектах на основе комплексного анализа их особенностей;
- разработать программный инструмент для анализа и определения линейных размеров и объема дефектов в виде пустот и включений в муфтовых соединениях кабельных линий;
- исследовать особенности визуализации дефектов муфтовых соединений кабельных линий при рентгеновской компьютерной томографии;
- расширить набор критериев для определения пригодности к эксплуатации муфтовых соединений кабельных линий на основе анализа результатов рентгеновской компьютерной томографии;
- внедрить разработанные алгоритмы и способы в программно-аппаратное обеспечение рентгеновской системы контроля качества муфтовых соединений «РУНК-50» (рентгеновская установка неразрушающего контроля).
Объект исследования - аппаратно-программные комплексы для проведения контроля протяженных объектов рентгенографическим и томографическим способом.
Предмет исследования - способы рентгенографического и томографического контроля протяженных объектов и цифровой обработки их рентгеновских изображений.
При решении поставленных задач применялись следующие методы исследования:
- обобщение данных в области разработки промышленной аппаратуры для проведения рентгенографического и томографического контроля;
- экспериментальные исследования с использованием современных образцов аппаратуры и методов визуализации рентгеновских изображений, созданных непосредственно в процессе выполнения работы;
- технология параллельных вычислений с использованием средств CUDA при выполнении томографической реконструкции;
- математическое моделирование эксплуатационных характеристик рентгеновской системы для неразрушающего контроля изделий и материалов; визуализация данных при реализации возможности просмотра результатов томографического контроля;
- алгоритмы искусственного интеллекта для коррекции определенных типов артефактов томографической реконструкции;
- современные методы математического анализа и теории статистических решений.
Теоретические и практические результаты исследований согласуются между собой и с мнением экспертов по проведению неразрушающего контроля, что подтверждает достоверность выводов, сделанных в работе.
В процессе работы были получены новые научные результаты:
- способ контроля муфтовых соединений кабельных линий, повышающий выявляемость дефектов и заключающийся в использовании схемы съемки в широкорасходящемся пучке с параллельным перемещением источника и детектора рентгеновского излучения вдоль объекта контроля;
- томографический способ контроля муфтовых соединений кабельных линий морской прокладки, повышающий выявляемость дефектов типов «пора» и «включение»;
- усовершенствование способа визуализации дефектов муфтовых соединений кабельных линий по результатам рентгеновской компьютерной томографии;
- расширенный набор критериев разбраковки муфтовых соединений на основе оценки суммарного объема пустот с учетом их ориентации и расположения.
Практическая значимость работы определяется тем, что:
- рассчитаны оптимальные физико-технические условия съемки при рентгеновском неразрушающем контроле муфтовых соединений кабельных линий;
- разработаны алгоритм и программный модуль для проведения рентгенографического контроля муфтовых соединений кабельных линий, реализующие предложенную схему съемки и обеспечивающие повышение выявляемости дефектов типа «трещина»;
- модернизирована установка для рентгеновского контроля качества муфтовых соединений «РУНК-50» и создан программный модуль для реализации томографического способа их контроля, включая инструменты автоматизированного анализа результатов;
- усовершенствованы программные средства для визуализации дефектов муфтовых соединений кабельных линий по результатам рентгеновской компьютерной томографии;
- разработаны алгоритм и компьютерная программа для оценки суммарного объема пустот в муфтовых соединениях кабельных линий.
В результате проведенных экспериментальных и теоретических исследований на защиту выносятся следующие научные положения:
1. Использование при рентгеновском контроле протяженных объектов широкорасходящегося пучка излучения с параллельным перемещением источника и детектора рентгеновского излучения вдоль объекта контроля позволяет
улучшить выявляемость дефектов типа «трещина» благодаря повышению их контраста до 4 и более раз по сравнению с существующей методикой контроля;
2. Внедрение томографического способа для задач контроля муфтовых соединений позволяет повысить надежность разбраковки, увеличив выявляемость дефектов не менее, чем на 10 % по сравнению с существующими способами контроля;
3. Применение способа рентгеновской компьютерной томографии при анализе дефектов муфтовых соединений кабельных линий позволяет использовать новый признак пригодности к эксплуатации, повышающий надежность разбраковки - суммарный объем пустот.
При непосредственном участии автора были проведены следующие работы:
- разработана установка неразрушающего рентгеновского контроля протяженных объектов «РУНК-50»;
- модернизирована конструкция разработанной установки для обеспечения возможности проведения с ее помощью томографического контроля;
- разработан программный комплекс для проведения рентгенографического и томографического контроля на установке «РУНК-50» и анализа полученных результатов.
Созданные в процессе работы методики и программно-аппаратные средства используются в работе: АО «Центр перспективных технологий» для проведения исследования муфтовых соединений кабелей подводной прокладки методами рентгеновского неразрушающего контроля; ЗАО «ЭЛТЕХ-Мед», при изготовлении образцов комплексов для рентгеновского неразрушающего контроля; при подготовке бакалавров и магистров в учебном процессе кафедры электронных приборов и устройств на факультете электроники СПбГЭТУ «ЛЭТИ» в рамках обучения по профилю «Электронные приборы и устройства» 11.03.04 бакалавриата и 11.04.04 магистратуры.
Апробация результатов работы проводилась на международных, всероссийских и региональных конференциях, съездах и научных форумах:
- 13-я Международная научно-техническая конференция «Акустооптические и радиолокационные методы измерений и обработки информации» (Москва, 2020);
- II-VIII конференции производителей рентгеновской техники (Санкт-Петербург, 2015-2021);
- 14th Russian-Germany conference on biomedical engineering, RGC 2019
(Санкт-Петербург, 2019);
- 76-я научно-техническая конференция СПб НТО РЭС им. А.С. Попова, посвященная Дню радио (Санкт-Петербург, 2021).
По теме диссертации опубликована 21 печатная работа, среди которых: 9 работ, индексируемых в системах WoS или Scopus; 10 свидетельств о государственной регистрации программ для ЭВМ; 2 материала, опубликованных в других изданиях и материалах конференций.
Структура и объем диссертации. Диссертационная работа состоит из введения, четырех глав, заключения, списка литературы (62 наименования) и 5 приложений. Основная часть работы изложена на 136 страницах машинописного текста, содержит 76 рисунков и 4 таблицы.
1 СПОСОБЫ РЕНТГЕНОВСКОГО НЕРАЗРУШАЮЩЕГО КОНТРОЛЯ
ПРОТЯЖЕННЫХ ОБЪЕКТОВ
Стремительное развитие промышленности, наращивание объема производства и исследований различных объектов неразрушающими методами контроля, в том числе рентгеновскими, ведет к необходимости разработки и совершенствования соответствующих технических средств и методик контроля. Особую значимость при этом имеет возможность в полном объеме определять внутренние дефекты исследуемых объектов, часть из которых может привести, в том числе, к неисправностям в работе различных систем и оборудования. В настоящее время на большинстве промышленных производств, в рамках осуществления мероприятий по контролю качества выпускаемой продукции, применяют различные методы неразрушающего контроля. При этом основным из них является рентгенографический метод.
В зависимости от характерных особенностей исследуемых объектов применяют различные методики и комплексы для выполнения рентгенографического контроля. При этом значительную сложность представляет проведение неразрушающего контроля протяженных объектов (объекты и изделия, длина которых значительно превышает остальные геометрические параметры). В качестве примеров протяженных объектов можно привести: соединительные элементы кабельных линий связи и электропередач, трубопроводы различного назначения, керны горных пород и т. д.
1.1 Рентгенографический контроль протяженных объектов
При необходимости проведения рентгенографического контроля протяженных объектов, например - трубопроводов, в зависимости от типа объекта наиболее часто применяют одну из двух схем съемки, продемонстрированных на рисунке 1.1.
а б
Рисунок 1.1 - Распространенные рентгенооптические схемы съемки протяженных объектов с различным расположением источника рентгеновского излучения: а -снаружи объекта исследования, б - внутри объекта контроля
В зависимости от геометрических параметров контролируемого объекта расположить источник рентгеновского излучения можно как снаружи объекта исследования (рисунок 1.1 (а)), так и внутри него (рисунок 1.1 (б)). В случае расположения источника излучения внутри объекта исследования традиционно используют рентгеновские трубки с панорамным выходом излучения,
размещаемые, как правило, на автоматизированной платформе. В качестве детекторов излучения применяются плоскопанельные цифровые системы регистрации излучения.
Следует рассмотреть основные классы протяженных объектов, контролируемых рентгеновскими методами, и их характерные дефекты, с учетом информации о проведенных исследованиях подобных объектов.
К одному из наиболее распространенных типов протяженных объектов относятся трубопроводы различного вида и назначения. Под трубопроводом понимают герметически сочлененные участки труб, крепежных материалов, необходимой защитной изоляции, прокладок и уплотнителей. С целью поддержания работоспособности указанных конструкций и их безаварийной эксплуатации трубопроводы необходимо подвергать периодическому контролю, в том числе рентгенографическому, для определения целостности выполненных сварных соединений. Своевременное обнаружение дефектов, приводящих к нарушению целостности, позволяет не допустить потери герметичности объекта.
К основным дефектам трубопроводов можно отнести ряд наружных и внутренних нарушений целостности. Наружными следует считать участки, находящиеся на поверхности или залегающие на глубине 2 - 3 мм от нее. Подобными дефектами являются поры, прожоги в изоляции или наплывы. Второй тип дефектов (внутренние) характеризуются их залеганием в глубине используемых материалов. К данному типу дефектов относятся дефекты, расположенные под поверхностью материала глубже 3 мм (внутренние поры, различные инородные включения большей и меньшей плотности, непровары и непроплавы, а также трещины).
Как уже отмечалось, наиболее подходящим, с точки зрения эффективности контроля, при решении задач определения целостности трубопроводов и обнаружения дефектов их внутренних структур, является рентгенографический метод контроля. При проведении рентгенографии, вследствие особенностей взаимодействия рентгеновского излучения с веществом, в используемой системе
визуализации (в качестве средства визуализации излучения все еще может быть применена рентгеновская пленка, но большее распространение получают цифровые детекторы) формируется картина внутренней структуры исследуемого объекта, на которой участки с отличающейся рентгенооптической плотностью, как правило, демонстрируют наличие дефектов. Традиционно при проведении рентгенографических исследований в поле детектора помещают специальный тестовый объект (эталон), чаще всего в виде клиновидной структуры (рисунок 1.2, а) разной толщины и, соответственно, разной рентгенооптической плотности или канавочного эталона (пластины с канавками одинаковой ширины и разной глубины, рисунке 1.2, б). Всего существует три типоразмера канавочного эталона. Все варианты его исполнения описаны в ГОСТ 7512-82 [1].
а б
Рисунок 1.2 - Эталоны для проведения рентгенографического контроля: а - канавочный, б - клиновидный
Пример получаемого с помощью рентгенографии изображения сварного соединения труб представлен на рисунке 1.3. Сравнивая отдельные участки объекта на рентгенограмме с областями эталона, делают заключение о параметрах и особенностях обнаруживаемых в соединениях дефектов.
Рисунок 1. 3 - Рентгенограмма сварного соединения
С учетом опыта промышленности в исследованиях сварных соединений, к настоящему времени составлена классификация дефектов сварных соединений, описанная в ГОСТ 23055 78 [2]. Наибольший объем проводимых исследований среди протяженных объектов имеют именно сварные соединения, что обусловлено их широким распространением и развитием инфраструктуры трубопроводов, а также отсутствием обоснованных альтернатив при выборе методов контроля.
В последние годы за рубежом и в РФ, входит в практику проведение рентгенографических исследование линий электропередач [3].
В настоящее время линии электропередач и линии связи эксплуатируются на близких к предельным уровням нагрузки, в связи с чем актуальным является контроль как их целостности, так и качества производимых монтажных работ. При выполнении соединений участков линий электропередач или связи
существует вероятность получения ряда дефектов, среди которых следует отметить возможные нарушения при фиксации проводящего провода в используемых соединительных разъемах и зажимах. Помимо этого, возможно наличие трещин и пор (рисунок 1.4), через которые в соединение может проникнуть влага, вызвав преждевременный пробой и выход из строя.
Рисунок 1.4 - Сгибы на стальной внутренней части соединения не изогнуты надлежащим образом (небольшие пустоты)
Рентгеновские методы исследования также широко применяются для изучения внутренней структуры кернов горных пород. Керны, как основной материал для изучения геологического строения разреза скважин, являются прямым источником и носителем информации о свойствах горных пород. Исследования кернов позволяют определять относительный и абсолютный возраст, вещественный состав, петрографические, физические, физико-химические и другие характеристики горных пород. Необходимо отметить, что для исследования подобных объектов, традиционные рентгенографические методы не позволяют получить всей необходимой информации. При исследованиях кернов можно применять рентгенодифракционные и рентгеноспектральные методы [4 - 5]. Кроме того, в последние годы для
получения вышеописанной информации о внутреннем строении кернов часто применяется метод рентгеновской компьютерной томографии [6 - 7].
При проведении неразрушающего рентгеновского контроля протяженных объектов, как правило, получают набор рентгеновских изображений с пересекающимися областями исследуемого объекта. На рисунке 1.5 изображена одна из традиционных схем исследования протяженного объекта, в данном случае муфтового соединения.
а
Рисунок 1.5 - К пояснению совмещения изображений протяженного объекта: а - геометрия съемки; б, в - полученные рентгенографические проекции объекта контроля
Исходя из описанной геометрии, на полученных проекциях можно увидеть частичное перекрытие областей объекта исследования при разных положениях съемки. Данная особенность не является существенной и может быть исключена при совмещении отдельных проекций.
Для получения полного рентгеновского изображения объекта контроля производят совмещение отдельных участков исследуемого объекта попиксельно
на основе определенных реперных точек или характерных элементов на изображении [8 - 9].
При необходимости определения фактического наличия дефектов внутри объекта контроля, вышеуказанная особенность не будет оказывать существенного влияния на результаты контроля, но она становится актуальной при необходимости проведения анализа геометрических параметров нарушений целостности, например, с целью получения на его основе оценки остаточного ресурса изделий или их пригодности к дальнейшей эксплуатации.
Следует отметить, что большинство задач контроля протяженных объектов требует проведения исследований в нестационарных условиях (за исключением контроля кернов, чаще всего проводимых в лабораториях), в связи с чем активно применяются разнообразные типы передвижных установок. Для задач контроля трубопроводов различного назначения применяют роботизированные автономные системы - кроулеры; для задач контроля кабельных линий связи или электропередач применяют портативные цифровые рентгеновские комплексы и т. д. Представляется целесообразным рассмотреть существующие системы рентгенографического контроля протяженных объектов и их ключевые особенности.
1.2 Установки для проведения рентгенографических исследований
протяженных объектов
Современные рентгеновские системы и комплексы для неразрушающего контроля, в зависимости от особенностей их эксплуатации, разделяют на стационарные и передвижные. В задачах контроля сварных швов трубопроводов различного назначения часто необходимо производить оценку в нестационарных условиях - непосредственно в местах прокладки или замены участка трубопровода, что ведет к необходимости использования нестационарных систем и комплексов. Для решения таких задач применяется специализированный класс приборов контроля - рентгеновские кроулеры (рисунок 1.6). Возможность
применения подобной системы обусловлена характерными особенностями контролируемых изделий - допустимостью размещения источника рентгеновского излучения внутри объекта исследования.
Рисунок 1.6 - Кроулер фирмы RayCraft для рентгенографического исследования кольцевых
сварных соединений трубопроводов
Рентгеновский кроулер - самоходный мобильный рентгеновский аппарат для обеспечения контроля качества сварных соединений изнутри трубопровода. В настоящее время в России чаще всего используются внутритрубные устройства компаний: JME (включая новое поколение CR2), RayCraft, «Спектрофлэш» («Сирена»), «ЛИТАС» (серия «Арго»), Balteau NDT и др. Вне зависимости от производителя оборудования, кроулеры имеют общие конструктивные элементы[10].
Конструктивно кроулер включает:
- источник ионизирующего излучения;
- электромагнитная или изотопная система управления;
- шасси;
- датчики;
- высоковольтная часть и блок аккумуляторов;
- пульт управления;
- силовые и соединительные кабели.
Источник ионизирующего излучения. В качестве источника излучения может выступать как рентгеновский аппарат, так и изотопный источник излучения.
Электромагнитная или изотопная система управления передвижением, остановками, включением/выключением генерации рентгеновского излучения, возвратом. Для перемещения кроулера в интересующую область контроля используется изотопный или магнитный «маяк», устанавливаемый на контролируемый сварной шов соединения снаружи [11]. В основе изотопной системы управления лежит использование изотопного трекера - радиоактивного элемента, с помощью которого контролируется передвижение объекта в системе. Наиболее доступными и широко используемыми изотопами являются кобальт-60, цезий-137, иридий-192.
Большее распространение в настоящее время ввиду своего практического удобства и отсутствия вреда для здоровья оператора имеет электромагнитный вариант управления [12]. С электромагнитной системой можно обойтись без изотопного трекера - достаточно передающего устройства (репера) на трубе. Репер представляет собой переносной блок, который передает на аппарат команды перемещения в нужных направлениях и запуска генерации излучения для начала экспозиции. Помимо репера, к электромагнитной системе управления следует отнести приемник сигнала и зарядное устройство к ним. Системы на базе магнетопа (магнитного передатчика сигналов) уверенно работают при толщине стенки трубы до 40 мм, а современные средства фильтрации защищают аппаратуру от влияния помех, связанных с остаточной намагниченностью труб.
Магнетопы при этом работают от аккумуляторов. При использовании универсальных декодеров магнетоп может быть без проблем заменен на изотопный трекер без изменения конструкции кроулера (так сделано, например, на системах фирмы !МЕ).
В некоторых аппаратах дополнительно предусматривается система радиовозврата - на случай потери связи с пультом. В этом случае рентгенографический кроулер автоматически возвращается к исходной точке, так что специалисту, проводящему контроль нет необходимости самостоятельно извлекать устройство из трубопровода.
Шасси. Большинство моделей кроулеров оснащаются быстросъемными шасси для обеспечения возможности в нестационарных условиях в зависимости от диаметра трубы использовать подходящие по размеру валы (полуоси). Колеса изготавливают из резины либо полиуретана. Последний вариант считается предпочтительным ввиду повышенной износостойкости.
Похожие диссертационные работы по специальности «Другие cпециальности», 00.00.00 шифр ВАК
Программно-аппаратные комплексы для микрофокусной рентгеновской компьютерной томографии2022 год, доктор наук Бессонов Виктор Борисович
Разработка и исследование технических средств микрофокусной рентгеновской томографии2018 год, кандидат наук Ободовский Анатолий Владимирович
Разработка систем цифровой радиографии сканирующего типа для контроля цилиндрических объектов большого диаметра2012 год, кандидат технических наук Буллер, Алексей Иванович
Моделирование сигналов и функциональных узлов рентгеновского томографа для контроля ТВЭЛов2009 год, кандидат технических наук Обидин, Юрий Васильевич
Ультразвуковой акустический контроль с идентификацией дефектов изделий из полимерных композиционных материалов2018 год, кандидат наук Рыков Алексей Николаевич
Список литературы диссертационного исследования кандидат наук Ларионов Иван Алексеевич, 2022 год
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1 Макаров А. В. Некоторые особенности использования ГОСТ 7512-82 и ГОСТ ISO 17636-1 при контроле трубопроводов //В мире неразрушающего контроля. -2019. - Т. 22. - №. 1. - С. 22-24.
2 ГОСТ 23055-78 Контроль неразрушающий. Сварка металлов плавлением. Классификация сварных соединений по результатам радиографического контроля
3 Дарьян Л. А. и др. Зарубежный опыт применения рентгенографии для контроля технического состояния высоковольтного оборудования //Энергоэксперт. - 2017. - №. 3. - С. 62.
4 Darian L. A. et al. X-ray testing of high voltage oil-filled electrical equipment: Physical background and technical requirements //IEEE Transactions on Dielectrics and Electrical Insulation. - 2020. - Т. 27. - №. 1. - С. 172-180.
5 Cai X. et al. The application of X-ray digital real-time imaging technology in GIS defect diagnosis //Procedia Engineering. - 2011. - Т. 23. - С. 137-143.
6 Lins E. A., Ferreira A. M., Carvalho M. S. High-Voltage Transmission Line and SF6 Gas-Insulated Substations Inspection Using Computed Radiography
7 Васькин И. В., Якуб А. А. Неразрушающая диагностика электрооборудования методом рентгенографии в электрокомплексе ПАО" Ленэнерго" //Электроэнергия. Передача и распределение. - 2017. - №. 3. - С. 112-114.
8 Ганин Д. В., Давыдов И. Ю. Обобщенная процедура яркостного сопоставления рентгенографических изображений печатных плат //Автоматизация процессов управления. - 2017. - №. 2. - С. 77-81.
9 Власов К. А., Усатиков С. В. Концепция автоматизированной системы специального рентгеновского контроля технических средств //Системы управления, связи и безопасности. - 2021. - №. 5. - С. 180-198.
10 Мунасыпов Р.А., Скворцов В.Е. Обзор конструкций внутритрубных радиографических и диагностических транспортных средств - кроулеров // Территория «НЕФТЕГАЗ». 2016. № 11. С. 64-67.
11 Абрамян С. Г., Савеня С. Н., Савеня А. А. Контроль качества систем трубопроводного транспорта на всех этапах строительства и эксплуатации - 2011.
12 Беляева К. О., Ткаченко Ю. С. Особенности применения передвижных рентгеновских аппаратов-кроулеров //Авиаперспектива. - 2017. - С. 137-144.
13 Якуб А. А. Цифровая радиография - новые возможности неразрушающего контроля //Прочность конструкций летательных аппаратов. - 2017. - С. 177-182.
14 Пик Л., Клейнбергер О. Цифровая радиография в дефектоскопии //Мир измерений. - 2010. - №. 6. - С. 12-17.
15 Лихачев А. В. Алгоритмы томографической реконструкции. - 2013.
16 Бессонов В. Б. и др. Микрофокусные рентгеновские компьютерные томографы семейства МРКТ: опыт разработки и эксплуатации //Физика и радиоэлектроника в медицине и экологии. - 2018. - С. 88-91.
17 Obodovskiy A. V., Bessonov V. B., Larionov I. A. Software and hardware complex for tomography of large-sized objects //AIP Conference Proceedings. - AIP Publishing LLC, 2020. - Т. 2250. - №. 1. - С. 020022.
18 Шлыков В. Г. Рентгеновские исследования грунтов //М.: Издательство МГУ. -1991.
19 Кривощеков С. Н., Кочнев А. А. Определение емкостных свойств пород-коллекторов с применением рентгеновской томографии керна //Master's Journal. -2014. - №. 1. - С. 120-128.
20 Van Geet M., Swennen R., Wevers M. Quantitative analysis of reservoir rocks by microfocus X-ray computerised tomography. Sedimentary Geology, 2000, no. 132, pp. 25-36. DOI: 10.1016/S0037-0738(99)00127-X
21 Вайнберг Э.И., Казак И.А., Файнгойз М.Л. Рентгеновская вычислительная томография по методу обратного проецирования с фильтрацией двойным дифференцированием // Дефектоскопия. - 1985. - № 2.
22 Хозяинов М.С., Вайнберг Э.И. Вычислительная микротомография - новая информационная технология неразрушающего исследования внутренней
микроструктуры образцов геологических пород // Геоинформатика. - 1992. - № 1.
- С. 42-50.
23 Галкин С. В., Колычев И. Ю., Савицкий Я. В. Возможности исследования гидрофобизации коллекторов комплексированием методами рентгеновской томографии керна и электрического каротажа //Геология и геофизика. - 2019. - Т. 60. - №. 10. - С. 1496-1507.
24 Рощин П. В. и др. Исследование кернового материала Печерского месторождения природного битума с помощью рентгеновского компьютерного микротомографа SKYSCAN 1174У2 //Международный научно-исследовательский журнал. - 2013. - №. 8-2 (15).
25 Стамов Л. И. и др. Цифровая модель керна на основании обработки данных томографии //Технологии будущего нефтегазодобывающих регионов. - 2018. - С. 162-166.
26 Фомкин А. В., Гришин П. А. Способ создания синтетического образца керна с использованием трехмерной печати и компьютерной рентгеновской томографии.
- 2018.
27 Черепанов С. С. и др. Определение параметров трещиноватости пород на основе комплексного анализа данных изучения керна, гидродинамических и геофизических исследований скважин //Нефтяное хозяйство. - 2014. - №. 2. - С. 94-96.
28 Галкин С. В. и др. Применение метода рентгеновской томографии при петрофизических исследованиях керна нефтяных и газовых месторождений //Геология и геофизика. - 2015. - Т. 56. - №. 5. - С. 995-1007.
29 Ефимов А. А. и др. Опыт исследования керна карбонатных отложений методом рентгеновской томографии //Вестник Пермского национального исследовательского политехнического университета. Геология. Нефтегазовое и горное дело. - 2016. - Т. 15. - №. 18. - С. 23-32.
30 Гридин А. О., Лапкин А. В., Сотенский Р. В. Новые возможности рентгеновской томографии для изучения образцов горных пород и керна скважин //Каротажник. - 2019. - №. 4. - С. 96-106.
31 Кожевников, Д. А. Рентгеновский томограф МАРС c детектором из арсенида галлия: новые возможности анализа керна нефтегазовых скважин / Д.А. Кожевников [и др.] // Матер. конф. «Практическая микротомография» (Москва, 2—4 октября 2013 г.). — Москва : Почв. ин-т РАН, 2013. — С. 99—105
32 Zainon R. et al. Construction and Operation of the MARS-CT Scanner. - 2009.
33 Bacchini M. et al. 200 kV DC extruded cables crossing the San Francisco Bay //Proc. CIGRE General Session. - 2010.
34 Nielsen W. F., Davenport T. Submarine cables and offshore energy //Submarine Cables. - Brill Nijhoff, 2014. - С. 351-373.
35 Subsea Cables U. K. Submarine Power Cables: Ensuring the Lights Stay On! //no. -2013. - Т. 650. - С. 1-20.
36 Смирнов С. В. Волоконно-оптические технологии для морских нефтегазовых месторождений //Деловой журнал Neftegaz. RU. - 2017. - №. 8. - С. 72-78.
37 Telegeography Research, аналитическая компания: http://www.telegeography.com.
38 Кучерявая И. Н. Факторы качества и надежности сшито-полиэтиленовой изоляции силовых кабелей //Пращ 1нституту електродинамши Нащонально!' академп наук Украши. - 2017. - №. 48. - С. 94-104.
39 Акимова И.А., Котеленец Н.Ф., Сентюрихин Н.И. Монтаж, техническая эксплуатация и ремонт электрического и электромеханического оборудования. -М.: Академия, 2008.
40 Куценко Г.Ф. Монтаж, эксплуатация и ремонт электроустановок: практическое пособие. - Мн.: Дизайн ПРО, 2006.
41 Чахлов С. В. и др. Современное состояние и перспективы развития рентгеновской вычислительной томографии //Дефектоскопия. - 2016. - №. 4. - С. 56-70.
42 Osman A., Duan Y., Kaftandjian V. Applied Artificial Intelligence in NDE //Handbook of Nondestructive Evaluation 4.0. - 2021. - С. 1-35.
43 de Molina C. et al. GPU-accelerated iterative reconstruction for limited-data tomography in CBCT systems //BMC bioinformatics. - 2018. - Т. 19. - №. 1. - С. 1-7.
44 Lee D. et al. GPU-accelerated 3D volumetric X-ray-induced acoustic computed tomography //Biomedical Optics Express. - 2020. - Т. 11. - №. 2. - С. 752-761.
45 Бессонов В. Б. и др. Разработка метода коррекции металлических артефактов при томографических исследованиях //Физические основы приборостроения. -2020. - Т. 9. - №. 4. - С. 54-59.
46 Бессонов В. Б., Ларионов И. А., Ободовский А. В. Особенности разработки программно-аппаратных комплексов для микрофокусной рентгеновской компьютерной томографии //Физические основы приборостроения. - 2019. - Т. 8. - №. 4. - С. 23-33.
47 Ларионов И.А. и др., Особенности томографических исследований объектов вакуумной техники на примере исследования узлов фотоприемного устройства // VIII Всероссийская научно-практическая конференция производителей рентгеновской техники. Программа и материалы конференции. СПб.: Изд-во СПбГЭТУ «ЛЭТИ», 2021. 146 с
48 Paszke P. An imperative style, high-performance deep learning library //Adv. Neural Inf. Process. Syst. - №. 32. - С. 8026.
49 He K. et al. Deep residual learning for image recognition //Proceedings of the IEEE conference on computer vision and pattern recognition. - 2016. - С. 770-778.
50 Cootes T., Baldock E. R., Graham J. An introduction to active shape models //Image processing and analysis. - 2000. - Т. 328. - С. 223-248.
51 Otsu N. A threshold selection method from gray-level histograms //IEEE transactions on systems, man, and cybernetics. - 1979. - Т. 9. - №. 1. - С. 62-66.
52 Vincent L. Morphological grayscale reconstruction in image analysis: applications and efficient algorithms //IEEE transactions on image processing. - 1993. - Т. 2. - №. 2. - С. 176-201.
53 Гаврилов А. И., Аунг Т. Применение методов сегментации изображений в задачах обнаружения дефектов поверхности сварных соединений //Вестник Московского государственного технического университета им. НЭ Баумана. Серия «Приборостроение». - 2014. - №. 5 (98). - С. 124-132.
54 Dawoud A. Fusing shape information in lung segmentation in chest radiographs //International Conference Image Analysis and Recognition. - Springer, Berlin, Heidelberg, 2010. - С. 70-78.
55 Abreu A. Introduction to openCV. - Technical report, Instituto Politecnico de Setúbal, 2013.
56 Larionov I. A., Bessonov V. B., Potrakhov E. N. About creation of installation for radiographic researches of extended objects //AIP Conference Proceedings. - AIP Publishing LLC, 2020. - Т. 2250. - №. 1. - С. 020020.
57 Кислов А. С., Клонов В. В., Ларионов И. А. Программа управления блоками реле и концевых датчиков (" RSCGU"). - 2019.
58 Schroeder W. J., Lorensen B., Martin K. The visualization toolkit: an object-oriented approach to 3D graphics. - Kitware, 2004.
59 Schroeder W. et al. The VTK user's guide. - Kitware Inc., 2010, 522 p.
60 Ni K. et al. Construction and exploitation of a 3D model from 2D image features //Computational Imaging VIII. - International Society for Optics and Photonics, 2010. -Т. 7533. - С. 75330J.
61 Nielson G. M., Hamann B. The asymptotic decider: Resolving the ambiguity in marching cubes. - eScholarship, University of California, 1991. - С. 83-91.
62 Larionov I. A., Bessonov V. B., Klonov V. V. About the features of three-dimensional visualization of the results of tomographic research //AIP Conference Proceedings. - AIP Publishing LLC, 2019. - Т. 2140. - №. 1. - С. 020038.
Листинг инструмента получения произвольно ориентированного
среза трехмерного объекта
Filename: main.cpp #include "mainwindow.h" #include <QApplication>
int main(int argc, char *argv[]) {
QApplication a(argc, argv); MainWindow w; w. show () ;
return a.exec();
}
Filename: mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)
{
ui->setupUi(this); tiff = new myTIFF;
ui->pushButton_3->setDisabled(true); ui->horizontalSlider->setDisabled(true); ui->angleOx->setDisabled(true); ui->angleOy->setDisabled(true); ui->angleOz->setDisabled(true);
CurrentProjectionNum = 0; NextProjectionNum = 0;
frame4 = new mylmageViewer; ui->Result->setLayout(new QHBoxLayout); ui->Result->layout()->addWidget(frame4);
}
MainWindow::~MainWindow() {
delete ui;
}
void MainWindow::LoadImages() {
uint wt,ht;
ImageNames = QFileDialog::getOpenFileName(this, tr("Open File"), "", tr("TIF files (*.tif)")) /*"D:/diode/s 0001.tif"*/;
if(ImageNames != "") ui->pushButton->setDisabled(true); else return;
ui->horizontalSlider->setDisabled(false); ui->angleOx->setDisabled(false); ui->angleOy->setDisabled(false); ui->angleOz->setDisabled(false);
ushort * temp; qDebug() << ImageNames;
temp = tiff->openFile(ImageNames.toStdString().c_str(), &wt, &ht); qDebug() << "wt" << wt << ht;
ImageNames.remove(QRegularExpression("s_\\d\\d\\d\\d\.tif")); ImageNames.remove(QRegularExpression("rec_\\d\\d\\d\\d\.tif")) ; image_height = ht; image_width = wt;
QDir path;
path.setPath(ImageNames); QStringList SliceFiles; SliceFiles << "rec_*.tif"; QStringList ProjectionFiles; ProjectionFiles << "s_*.tif";
CountOfImage = path.entryInfoList(SliceFiles, QDir::Files).count(); qDebug() << CountOfImage << "CountOfImage";
ProjectionNum = path.entryInfoList(ProjectionFiles, QDir::Files).count();
qDebug() << CountOfImage << "CountOfImage 1" << ProjectionNum; //ProjectionNum = ProjectionNum - CountOfImage;
qDebug() << CountOfImage << "CountOfImage 2" << ProjectionNum; ProjectionOffset = ProjectionNum / 4;
qDebug() << CountOfImage << "CountOfImage 3" << ProjectionNum << ProjectionOffset;
NextProjectionNum = ProjectionOffset;
qDebug() << CountOfImage << "CountOfImage 4" << ProjectionNum << ProjectionOffset << NextProjectionNum;
ui->horizontalSlider->setRange(0, ProjectionNum - 1);
output_X = (int)(/*sqrtf(2)**/image_width); output_Y = (int)(/*sqrtf(2)**/image_height); output_Z = (int)(/*sqrtf(2)**/image_width);
extendedArea = new ushort [output_X*output_Y];
qDebug() << "1" << ProjectionNum << output_Z << CountOfImage;
Dim3Array = new ushort ** [CountOfImage];
for (int i = 0; i < CountOfImage; i++) {
Dim3Array[i] = new ushort * [image_width]; for (int j = 0; j < image_width; j++)
{
Dim3Array[i][j] = new ushort [image_height];
}
}
qDebug() << "2" << ProjectionNum << CountOfImage; QString tmp, res;
for(int k = 0; k < CountOfImage; k++) {
tmp = QString::number(k) + ".tif";
while (tmp.length() < 8 ) {
tmp.push_front("0");
}
tmp = "rec_" + tmp; res = ImageNames + tmp; qDebug() << "2" << res;
temp = tiff->openFile(res.toStdString().c_str(), &wt, &ht); qDebug() << "2" << res << wt << ht;
for (int i = 0; i < image_width; i++) {
for (int j = 0; j < image_height; j++) {
Dim3Array[k][i][j] = (ushort)temp[image_width*i+j];
}
}
}
LoadProjections();
ui->pushButton_3->setDisabled(false);
}
void MainWindow::on_pushButton_3_clicked() {
for (int k = 75; k < 750; k++) {
rotate(k);
qDebug() << "resName 0"; QString path = ImageNames; QString resName;
qDebug() << ImageNames << "resName 0" << resName;
// path.remove(QRegularExpression("s_")) ;
path.append("result");
QDir () .mkdir(path);
QString format;
format = QString("%1").arg(k);
while (format.length() < 4) {
format = '0' + format;
}
QString name = QString("/rec_%1.tif").arg(format); resName = path + name;
qDebug() << ImageNames << "resName" << resName; tiff-
>writeFile(resName.toStdString().c_str(),extendedArea,output_Y,output_X); }
// ui->resultSlider->setRange(0, output_Z-1);
// ui->resultSlider->setDisabled(false);
QPixmap pix;
QString tmp2, res2;
uint wt,ht;
ushort * resul;
QString path = ImageNames;
path.append("result/");
tmp2 = QString::number(0) + ".tif";
while (tmp2.length() < 8 ) {
tmp2.push_front("0");
}
tmp2 = "rec_" + tmp2; res2 = path + tmp2;
resul = tiff->openFile(res2.toStdString().c_str(), &wt, &ht); pix = RawtoPixmap(resul,wt,ht); frame4->SetParam(0, 0); frame4->setPixmap(pix);
}
void MainWindow::rotate(int k) {
float fi = (float)ui->angleOz->value()/10.0;//0z float teta = (float)ui->angleOy->value()/10.0;//0y float psi = (float)ui->angleOx->value()/10.0;//0x fi = fi*M_PI/180.0; teta = teta*M_PI/180.0; psi = psi*M_PI/18 0.0;
qDebug() << fi << teta << psi;
int x = 0, y = 0, z = 0;
float x1 = 0.0, y1 = 0.0, z1 = 0.0;
qDebug () << output_Z << output_Y << output_X << "85";
for(int j = 1; j < output_Y-1; j++) {
for (int i = 1; i < output_X-1; i++) {
x = i - (output_Y/2);
y = j - (output_X/2);
z = k - (output_Z/2);
x1 = x; y1 = y; z1 = z;
y = (int)(cosf(psi)*y1-sinf(psi)*z1); //x z = (int)(sinf(psi)*y1+cosf(psi)*z1);
x1 = x; y1 = y;
z1 = z;
x = (int)((cosf(teta)*x1)-(sinf(teta)*z1)); //y z = (int)((sinf(teta)*x1)+(cosf(teta)*z1));
x1 = x; y1 = y; z1 = z;
x = (int)((cosf(fi)*y1)-(sinf(fi)*x1)); y = (int)((sinf(fi)*y1)+(cosf(fi)*x1)); //z
x+=image_width/2; // w/2 y+=image_height/2; //h/2 z+=CountOfImage/2; // countim/2
if (x > 0 && x < image_width && y > 0 && y < image_height && z >=
0 && z < CountOflmage) {
extendedArea[i*output_X+j] = Dim3Array[z][y][x];
}
else {
extendedArea[i*output_X+j] = 0;
}
}
}
}
void MainWindow::on_pushButton_clicked() {
Loadlmages();
}
void MainWindow::on_angleOx_valueChanged(int value) {
ui->OzValue->setText(QString::number((float)value/10.0)); frame2->SetParam(1, (float)value/10.0); frame2->repaint(); rotate(ui->k->value());
QPixmap pix;
pix = RawtoPixmap(extendedArea,1032,1032);
frame4->SetParam(0, 0); frame4->setPixmap(pix);
}
void MainWindow::on_angleOy_valueChanged(int value) {
ui->OyValue->setText(QString::number((float)value/10.0)); frame3->SetParam(3, (float)value/10.0);
frame3->repaint(); rotate(ui->k->value());
QPixmap pix;
pix = RawtoPixmap(extendedArea,1032,1032);
frame4->SetParam(0, 0); frame4->setPixmap(pix);
}
void MainWindow::on_angleOz_valueChanged(int value) {
ui->OxValue->setText(QString::number((float)value/10.0)); frame1->SetParam(2, (float)value/10.0); frame1->repaint(); rotate(ui->k->value( ));
QPixmap pix;
pix = RawtoPixmap(extendedArea,1032,1032);
frame4->SetParam(0, 0); frame4->setPixmap(pix) ;
}
void MainWindow::on_k_valueChanged(int value) {
rotate(ui->k->value( )); QPixmap pix;
pix = RawtoPixmap(extendedArea,1032,1032);
frame4->SetParam(0, 0); frame4->setPixmap(pix);
}
void MainWindow::on_checkBox_stateChanged(int arg1) {
if(arg1 == 0) {
// ui->FirstSliceNum->hide();
// ui->FirstSliceNumLbl->hide();
// ui->SliceNum->hide();
// ui->SliceNumLbl->hide(); }
else {
// ui->FirstSliceNum->show();
// ui->FirstSliceNumLbl->show();
// ui->SliceNum->show();
// ui->SliceNumLbl->show();
}
}
void MainWindow::on_horizontalSlider_valueChanged(int value) {
CurrentProjectionNum = value;
//qDebug() << CurrentProjectionNum;
if(CurrentProjectionNum + ProjectionOffset < ProjectionNum) NextProjectionNum = CurrentProjectionNum + ProjectionOffset;
else NextProjectionNum = CurrentProjectionNum + ProjectionOffset -ProjectionNum;
ReLoadProjections();
}
void MainWindow::LoadProjections() {
framel = new mylmageViewer;
ui->CentralSlice->setLayout(new QHBoxLayout); ui->CentralSlice->layout()->addWidget(frame1);
// Загрузка центрального сечения для отображения QString tmp2, res2; ushort *centralSlice; uint wt,ht;
tmp2 = QString::number(CountOfImage/2) + ".tif";
while (tmp2.length() < 8 ) {
tmp2.push_front("0");
}
tmp2 = "rec_" + tmp2; res2 = ImageNames + tmp2;
centralSlice = tiff->openFile(res2.toStdString().c_str(), &wt, &ht); QPixmap pix;
pix = RawtoPixmap(centralSlice,wt,ht);
frame1->SetParam(1 , ui->angleOz->value()); frame1->setPixmap(pix) ;
frame2 = new mylmageViewer;
ui->SourceProjection->setLayout(new QHBoxLayout); ui->SourceProjection->layout()->addWidget(frame2) ;
frame3 = new mylmageViewer;
ui->RotatedProjection->setLayout(new QHBoxLayout); ui->RotatedProjection->layout()->addWidget(frame3); ReLoadProjections();
}
QPixmap MainWindow::RawtoPixmap(ushort * data,uint w, uint h) {
Qlmage image(w, h, QImage::Format_Indexed8);
quint8 * line = image.scanLine(O); int stride = image.bytesPerLine(); qint32 pixel = 0;
for ( int y = 0; y < image.height(); ++y, line += stride) {
quint8 * pix = line;
for ( int x = 0; x < image.width(); ++x, pix += 1) {
pixel = 255*(data[(y*w)+x])/65535.0;
if (pixel > 255)
{
pixel = 255;
}
if (pixel < 0)
{
pixel = 0;
}
pix [0] = pixel;
}
}
QPixmap pixmap;
pixmap.convertFromImage(image); //pixmap = pixmap.scaled(40 0,40 0); return pixmap;
}
void MainWindow::ReLoadProjections() {
QPixmap pix; QString tmp2, res2; uint wt,ht;
ushort * firstproj, * rotatedproj;
tmp2 = QString::number(CurrentProjectionNum) + ".tif";
while (tmp2.length() < 8 ) {
tmp2.push_front("0");
}
tmp2 = "s_" + tmp2; res2 = ImageNames + tmp2;
firstproj = tiff->openFile(res2.toStdString().c_str(), &wt, &ht); pix = RawtoPixmap(firstproj,wt,ht); frame2->SetParam(2 , ui->angleOx->value()); frame2->setPixmap(pix);
tmp2 = QString::number(NextProjectionNum) + ".tif";
while (tmp2.length() < 8 ) {
tmp2.push_front("0");
}
tmp2 = "s_" + tmp2; res2 = ImageNames + tmp2;
rotatedproj = tiff->openFile(res2.toStdString().c_str(), &wt, &ht); pix = RawtoPixmap(rotatedproj,wt,ht); frame3->SetParam(3 , ui->angleOy->value()); frame3->setPixmap(pix) ;
}
void MainWindow::on_resultSlider_valueChanged(int value) {
QPixmap pix;
QString tmp2, res2;
uint wt,ht;
ushort * resul;
QString path = ImageNames;
path.append("result/");
tmp2 = QString::number(value) + ".tif";
while (tmp2.length() < 8 ) {
tmp2.push_front("0");
}
tmp2 = "rec_" + tmp2; res2 = path + tmp2;
resul = tiff->openFile(res2.toStdString().c_str(), &wt, &ht); pix = RawtoPixmap(resul,wt,ht); frame4->SetParam(0, 0); frame4->setPixmap(pix);
}
void MainWindow::on_angleOy_sliderMoved(int position) {
}
Filename: service_functions.cpp #include "service_functions.h"
service_functions::service_functions(QObject *parent) : QObject(parent) {
}
QString service_functions::RenameOfImages(ushort Count) {
Count ++;
QString FormatOfName;
FormatOfName = QString("%1").arg(Count);
while (FormatOfName.length() <= FORMAT_NAME_OF_IMAGE) {
FormatOfName = '0' + FormatOfName;
}
FormatOfName = "s_" + FormatOfName + ".raw"; qDebug() << "ImageCount" << Count; return FormatOfName;
}
void service_functions::deletespace(QString adress) {
QFile file(adress);
if (!file.open(QIODevice::ReadOnly)) {
qDebug() << "Service::Error";
}
QByteArray tmp = file.readAll(); file.close();
QFile file_tmp(adress);
if (file_tmp.open(QIODevice::WriteOnly | QIODevice::Truncate)) file_tmp.close() ;
QFile file_out(adress);
if (!file_out.open(QIODevice::WriteOnly))
{
qDebug() << "Service::Error";
}
tmp. replace > ( "%20"," "
tmp. replace^ ( "%28"," ("
tmp. replace^ ( "%29",")"
tmp. replace' мгао с и тт о, тт ^ o2J , о
file out.write(tmp);
}
myTIFF::myTIFF()
//////////////// Для открытия tiff файлов///////////////////////////////////////////////////////
QLibrary lib2("libTIFF64.dll") ; if(lib2.load())
qDebug() << "myTIFF::::Библиотека загружена";
else
qDebug() << "myTIFF::::Библиотека не загружена";
myTIFFOpen = (TIFFOpen) QLibrary::resolve("libTIFF64.dll", "TIFFOpen");
myTIFFGetField = (TIFFGetField) QLibrary::resolve("libTIFF64.dll", "TIFFGetField");
myTIFFReadScanline = (TIFFReadScanline) QLibrary::resolve("libTIFF64.dll", "TIFFReadScanline");
myTIFFWriteScanline = (TIFFWriteScanline) QLibrary::resolve("libTIFF64.dll", "TIFFWriteScanline");
my_TIFFmalloc = (_TIFFmalloc) QLibrary::resolve("libTIFF64.dll", "_TIFFmalloc");
myTIFFScanlineSize = (TIFFScanlineSize) QLibrary::resolve("libTIFF64.dll", "TIFFScanlineSize");
myTIFFDefaultStripSize = (TIFFDefaultStripSize) QLibrary::resolve("libTIFF64.dll", "TIFFDefaultStripSize");
myTIFFSetField = (TIFFSetField) QLibrary::resolve("libTIFF64.dll", "TIFFSetField");
myTIFFClose = (TIFFClose) QLibrary::resolve("libTIFF64.dll", "TIFFClose");
myTIFFSetupStrips = (TIFFClose) QLibrary::resolve("libTIFF64.dll", "TIFFSetupStrips");
data = new ushort[4000*4000];
}
ushort * myTIFF::openFile(const char * path, uint * width, uint * height) {
TIFF * img = myTIFFOpen(path, "r");
if (img) {
// qDebug() << "myTIFF::tiff opened!"; uint32 w, h;
myTIFFGetField(img, TIFFTAG_IMAGEWIDTH, &w); myTIFFGetField(img, TIFFTAG_IMAGELENGTH, &h);
uint32 imagelength;
tdata_t buf;
uint32 row;
delete[] data;
data = new ushort[w*h];
memcpy(width, (uint *)&w, SIZEOF_INT); memcpy(height, (uint *)&h, SIZEOF_INT); tsize_t size = myTIFFScanlineSize(img); buf = my_TIFFmalloc(size);
myTIFFGetField(img, TIFFTAG_IMAGELENGTH, &imagelength);
for (int i=0;i<h;i++) {
row = i;
myTIFFReadScanline(img, buf, row, 0); ushort * pix = (ushort*) buf;
memcpy((data+i*w),pix,size);
}
return data;
}
else {
// qDebug() << "myTIFF::ERROR!" << path; return NULL;
}
}
void myTIFF::writeFile(const char * path, ushort * data, uint width, uint
height) {
TIFF * out = myTIFFOpen(path, "w");
if (out) {
uint32 imagelength, imagewidth;
//uint16 nsamples = 52428; // TODO это для 2000*2000 для других может измениться
imagewidth = width; //100 imagelength = height; // 2000
myTIFFSetField(out, TIFFTAG_IMAGELENGTH, height); myTIFFSetField(out, TIFFTAG_IMAGEWIDTH, width); myTIFFSetField(out, TIFFTAG_SAMPLESPERPIXEL, 1); myTIFFSetField(out,TIFFTAG_PHOTOMETRIC,1); myTIFFSetField(out, TIFFTAG_COMPRESSION, 1); myTIFFSetField(out, TIFFTAG_BITSPERSAMPLE, 16);
myTIFFSetField(out, TIFFTAG_ROWSPERSTRIP, myTIFFDefaultStripSize(out, imagewidth));
myTIFFSetupStrips(out);
// write image
for (int i = 0; i < height; i++) {
myTIFFWriteScanline(out, &data[i*width], i, 0);
}
myTIFFClose(out);
}
Filename: myimageviewer.cpp #include "myimageviewer.h" #include <QApplication>
myImageViewer::myImageViewer(QWidget *parent) : QLabel(parent)
{
this->setScaledContents(true); this->setBackgroundRole(QPalette::Base);
this->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
}
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.