Кіріспе

Астрономиялық деректерді өңдеу және талдау үшін бағдарламалық қамтамасыз ету жинағы. IRAF (Image Reduction and Analysis Facility) – пикселдік массив түріндегі астрономиялық кескіндер мен спектрлерді өңдеуге бағытталған, Ұлттық оптикалық астрономия обсерваториясында (NOAO) жазылған бағдарламалық қамтамасыз ету жинағы. Бұл негізінен CCD сияқты бейнелеу массивлі детекторлардан алынған деректер. Ол негізгі операциялық жүйелердің барлығында, сондай-ақ үстел компьютерлерінде қолжетімді. IRAF VMS және UNIX сияқты операциялық жүйелерді қолдайтын, платформалық тәуелсіз жобаланған. Microsoft Windows жүйесінде пайдалану Cygwin арқылы бұрынғы нұсқаларда мүмкін болды, ал қазір Linux үшін Windows субсистемасымен қолдануға болады. Бүгінде ол негізінен macOS және Linux жүйелерінде қолданылады. IRAF командалары (тапсырмалар деп аталады) пакеттік құрылымдарға ұйымдастырылған. IRAF-қа қосымша пакеттерді қосуға болады, ал пакеттердің ішінде басқа пакеттер де болуы мүмкін. NOAO және сыртқы әзірлеушілерден көптеген пакеттер бар, олар көбінесе зерттеудің нақты саласына немесе құралға бағытталған. IRAF-тың мүмкіндіктеріне кескіндегі астрономиялық нысандардың ағымдарын және орналасуын калибрлеу, детектор пиксельдері арасындағы сезімталдық айырмашылықтарын жою, бірнеше кескінді біріктіру немесе спектрдегі сіңіру немесе шығарылым сызықтарының қызыл жылжуын өлшеу кіреді. IRAF астрономдар арасында әлі де кең таралған болса да, институционалдық дамуы мен техникалық қолдауы тоқтатылды. Қазір IRAF қоғамдық бағдарламалық қамтамасыз ету ретінде қолданылады.

Тарих

IRAF жобасы 1981 жылдың күзінде Китт Пик ұлттық обсерваториясында басталды. 1982 жылы командалық тілдің (CL) алғашқы нұсқасы және бастапқы дизайны аяқталды. IRAF тобы құрылды. IRAF жүйесінің дизайнері және бас бағдарламашысы Даг Тоди болды. 1983 жылы Ғарыш телескопы ғылыми институты IRAF-ты SDAS деректерді талдау жүйесі үшін орта ретінде таңдады және жүйені VMS-ке көшірді. IRAF-тың алғашқы ішкі шығарылымы 1984 жылы болды. Кейбір сыртқы сайттардың шектеулі таралуынан кейін алғашқы қоғамдық релиз 1987 жылы болды. 1990 жылдардың ортасында сол кездегі проблемаларды шешу үшін "Ашық IRAF" жобасы басталды. Бұл тілдік байланыстарды, IRAF компоненттерін IRAF толық ортасысыз пайдаланудың жолын, жаңа дерек түрлері мен динамикалық жүктелетін пайдаланушы кодын қамтиды. Бұл жоба ешқашан аяқталмады. 1990 жылдардың соңында IRAF дамуы едәуір баяулады, өйткені жүйе жетілді деп саналды. Пайдаланушыларды қолдау 2005 жылы веб-форумға көшірілді және негізгі жүйенің жаңа дамуы ресми түрде өте төмен деңгейге төмендетілді. Алайда, IRAF әзірлеушілерінің ерікті жұмысы жалғасты және олар кейбір ресми емес аралық нұсқаларды таратты. 2006 жылдан 2009 жылға дейін Жапонияның Ғарыш және Астронаутика Ғылымы институтында IRAF-ты 64 битке порттау үшін алғашқы күш-жігер жұмсалды. Бұл күш-жігер жаңа ресми IRAF нұсқасына айналмаса да, ол NOAO-ның 64 биттік портына елеулі үлесін қосты. NOAO 2007 жылы даму жұмыстарын қайта бастады, жүйені 64 битке көшіріп, оған Виртуалды обсерватория мүмкіндіктерін қосты. Бұл кезең 2.16.1 нұсқасының шығарылуымен 2013 жылы аяқталды. 2017 жылы бастапқы код GitHub-қа көшірілді. Debian үшін IRAF бағдарламалық жасақтамасын жинақтау мақсатында, ол қалған еркін емес бастапқы кодынан тазартылды және сол кезден бастап тек қоғамдастықпен қамтамасыз етіледі. Бірнеше алдын ала релизден кейін 2.17 нұсқасы 2022 жылдың басында шығарылды. 2023 жылы NOIRLab (NOAO-ның мұрагері) кейбір дамуды қайта бастады және өзінің 2.18 шығарылымын жасады, көлемі тек ескі Gemini деректерді өңдеу құбырына қолдау көрсетумен шектелді. Тиісті өзгерістер кейіннен 2.18-ші қоғамдық нұсқасына біріктірілді. IRAF негізгі нұсқаларыВерсияШығарылған күніЕскермелер2.11984алғашқы ішкі нұсқа2.2Ақпан 1986жұртшылыққа шектеулі нұсқа2.314 тамыз 1986ж.STSDAS қолдауы2.419 қазан 1986ж.2.58 шілде 1987жұртшылыққа алғашқы нұсқа2.624 ақпан 1988ж.2.74 желтоқсан 1988ж.2.830 маусым 1989ж.2.910 сәуір 1990ж.2.107 шілде 1992ж.2.1127 тамыз 1997ж.2.1225 қаңтар 2002ж.2.132006NOAO еріктілері шығарған ресми емес нұсқалар2.141 желтоқсан 2007ж.2.1522 қараша 2010ж.2.1622 наурыз 2012ж.NOAO шығарған соңғы нұсқа2.174 қаңтар 2022жұртшылыққа алғашқы нұсқа2.185 сәуір 2024ж.NOIRLab өзгерістерін біріктіру

Лицензиялау

IRAF лицензиясы көбінесе MIT лицензиялық схемасына сәйкес келеді. Ескі нұсқаларында кейбір тегін емес бағдарламалық қамтамасы бар болатын. Атап айтқанда, NCAR графикалық коды IRAF-ты қайта таратуды 2.16 нұсқасында алып тасталғанға дейін шектеді. Сонымен қатар, ескі нұсқалар Numerical Recipes кітабынан алынған кодты басқа лицензия бойынша пайдаланды. Бұл код 2.16.1 нұсқасынан кейін алынып тасталды немесе ашық кодпен алмастырылды. Бұл Debian немесе Ubuntu сияқты кең таралған Linux дистрибутивтерінде IRAF пакеттерін таратуға мүмкіндік берді.

Қолданбалық топтамалар

Қолданбалық жиынтықтар кіші жиынтықтар мен тапсырмаларға рекурсивті түрде құрылымдалған. Оларды екі классқа бөлуге болады: жалпы жүйелік және негізгі деректерді өңдеу құралдары, сондай-ақ астрономиялық деректерді өңдеу және талдауға арналған арнайы жиынтықтар. Тапсырмалардың көп бөлігі SPP және CL тілдерінде жазылған.

Пайдаланушы анықтаған тапсырмалар

IRAF пайдаланушыларға өз тапсырмаларын екі негізгі тәсілмен жазуға мүмкіндік береді. Бірі – компиляцияланбаған процедуралардың (Command Language, CL) скрипттерін жазу арқылы. Екіншісі – компиляцияланған ішкі жиынтық алдын ала өңдегіш (SPP) бағдарламалары арқылы. Екі тәсіл бойынша да оқулық материалдар бар.

Қосымша бағдарламалық қамтамасыз ету

Толық IRAF жұмыс ортасы әдетте тағы екі бағдарламаны қажет етеді: графикалық терезесі бар кеңейтілген xterm терезесі (xgterm деп аталады және жеке x11iraf пакетімен таратылады) және "бейне сервері" деп аталатын бейне көрсету бағдарламасы. Екі ең көп қолданылатын бейне сервері – SAOImageDS9 (SAO жасаған) және ximtool (NOAO, сонымен қатар x11iraf пакетімен таратылады). xgterm және Command Language-ке орнына Python PyRAF пакетін пайдалануға болады. PyRAF CL сценарийларын Python сценарийларына аударуға мүмкіндік береді. Одан әрі, ол графикалық терезе ұсынады (Tk немесе Matplotlib негізінде). Командалық қабық ретінде Python немесе IPython командалық қабығын, немесе CL командалық қабығының интерфейсіне ұқсас арнайы режимді қолдануға болады.