Чистка и анализ изображений подразумевают использование как специального софта, разработанного сотрудниками СРГ (в частности, python-скрипты), так и пакеты програмного обеспечения более глобального уровня ("CASA"). Необходимо понимать, что это накладывает ограничения на используемые операционные системы (unix-подобные), в частности мы можем использовать ОС с ядром Linux (предпочтительно - из ветки RedHat) и macOS. Данная инструкция рассматривает установку необходимого ПО на Linux дистрибутив Fedora.
Все описанные манипуляции производились на OC Windows
- Переходим на официальный сайт проекта Fedora. Выбираем вариант Fedora Workstation, далее - скачиваем x86_64 Live образ ISO
- Находим флешку, которую можно будет отформатировать (все данные будут удалены!)
- Скачиваем программу Rufus c официального сайта проекта. Можно скачать portable-version (не требует установки, нужно лишь запустить исполняемый .exe файл)
- Решаем вопрос с местом установки - куда мы поставим новую систему. Для этого нужно создать новый логический диск (ПКМ по иконке Пуск -> Управление дисками -> сжать том -> указать необходимые размеры).
При установке на другой физический диск могут возникнуть проблемы с настройкой grub (либо придется каждый раз менять порядок загрузки OC через BIOS), решение этих проблем в данной инструкции описано не будет
- Запускаем Rufus, в разделе "устройство" выбираем наш USB-накопитель, в разделе "метод загрузки" нажимаем на кнопку "выбрать" и указываем путь к скачанному ISO образу Fedora. Запускаем процесс создания загрузочной флешки.
- По окончании предыдущего этапа перезагружаемся в BIOS, меняем порядок загрузки, указывая USB-флешку приорететной, и сохраняя настройки перезапускаемся на нее.
- Выбираем в вариантах загрузки Grub пункт Fedora
- Выбираем в допоолнительном меню пункт "установить на Hard Drive"
- Выбираем язык, настраиваем дату и время
- Заходим в раздел "Место установки", далее выбираем необходимый диск и в разделе "Конфигурация устройств хранения" ставим чек-поинт на вариант "Дополнительно", после чего нажимаем на кнопку "Готово" слева вверху. После данного действия откроется среда BLIVET разбиения диска на разделы
- В открывшемся меню ставим выбор на нужный логический раздел диска, после чего с помощью ПКМ форматируем в новый формат ext4 и ставим точку монтирования "/", опять нажимаем "Готово", соглашаясь с диалоговым окном о принятии изменений.
В случае возниовения ошибки
Failed to find a suitable stage device
нужно вернуться в BLIVET, выбрать первый раздел диска и прописать ему точку монтирования/boot/efi
- Произвoдим установку системы и перезагружаем компьютер, попутно вынимая флешку
Чистая система после установки обновлений весит порядка 8 ГБ.
- Из появившегося окна grub выбраем запуск Linux Fedora
- Производим первичную настройку системы: подключение к Wi-Fi, отключение аналитики (по желанию), включение стронних репозиториев, ввод имени пользователя и пароля.
Если вы пользуетесь теми же приложениями, что и автор инструкции, можете воспользоваться следующими командами
Для установки VSCode последовательно выполнить:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo' sudo dnf check-update sudo dnf -y install code
Для установки Opera последовательно выполнить:
sudo dnf config-manager --add-repo https://rpm.opera.com/rpm sudo rpm --import https://rpm.opera.com/rpmrepo.key sudo dnf upgrade --refresh sudo dnf install opera-stable
Скопируйте команду, которая объединяет все дальнейшие шаги, в консоль, запаситесь терпением и ждите скачивания и установки необходимых компонентов
sudo dnf install conda -y && wget https://raw.githubusercontent.com/astronom-v-cube/howtostartSRHanalise/main/puppies.yml && sudo dnf install libnsl && sudo conda env create -f puppies.yml && conda activate casa && python3 -m casatools --update-user-data && rm puppies.yml && wget ftp://ftp.astron.nl/outgoing/Measures/WSRT_Measures.ztar --show-progress && mkdir WSRT_Measures/ && tar -xzvf WSRT_Measures.ztar -C WSRT_Measures/ && echo measures.observatory.directory: /home/$USER/WSRT_Measures/geodetic > .casarc && export CASARCFILES=“home/$USER/.casarc” && rm WSRT_Measures.ztar && sudo dnf install gcc gcc-c++ && pip install git+https://github.com/maria-globa/srhdata.git
К сожалению, CASA не поддерживает версии Python выше 3.8, наиболее удобный вариант - запускать все необходимое в виртуальном окружении conda. (Подробнее о возможностях conda хорошо написано тут)
Внимание! В определенный момент в библиотеке Qt возникла проблема с обратной зависимостью, из-за чего старые программы на свежих версиях библиотеки не работают. Решение - использовать при создании conda версии пакетов, указанные в приложенном файле puppies.yml
, с ними код работает хорошо. Создать окружение с помощью этого файла можно следующим образом:
conda env create -f puppies.yml
В этом случае команды, расположенные между двумя горизонтальными чертами ниже, можно опустить.
Автор не гарантирует, что проблема не ушла с обновлениями, и предоставляет возможность читающему эту инструкцию проверить все самому, и, возможно, установить все на свежие версии пакетов, однако использование файла puppies.yml
точно гарантирует безболезенную установку окружения.
Проблема заключается в том, что при появлении любых диалоговых окон программа зависает. Можно обойти это, вызывая окна не через элементы интерфейса, а напрямую через консоль Spyder, используя методы класса phaseEdit612
Выполняем в терминале:
sudo dnf install conda
и создаем виртуальное окружение с помощью команды:
conda create --name casa python=3.8 pip spyder
После этого указываем
conda init bash
и перезагружаем окно консоли. Устанавливаем библиотеки:
pip install astropy matplotlib sunpy casatasks casatools numpy sympy python-casacore ephem scipy scikit-image
Проверяем виртуальное окружение с помощью
conda activate casa
a также работу spyder с помощью
spyder
Консоль должна изменяться с (base)[username@fedora ~]$
на (casa)[username@fedora ~]$
при активации окружения.
Для выхода из spyder можно использовать ctrl + z
, для выхода из виртуального окружения используем
conda deactivate
Внимание! Этот шаг можно пропустить!
casacore
использовалась ранее для работы скриптов и программ, однако на данный момент она не нужна для их запуска. Тем не менее, этот пункт инструкции было решено оставить, так как найти эту информацию в интернете не так просто, а мало ли, что в жизни случится... :)
Скачиваем исходный код проекта:
git clone https://github.com/casacore/casacore
Устанавливаем зависимости:
sudo dnf install cmake cmake-gui gcc-gfortran gcc-c++ flex bison blas blas-devel lapack lapack-devel cfitsio cfitsio-devel wcslib wcslib-devel ncurses ncurses-devel readline readline-devel python-devel boost boost-devel fftw fftw-devel hdf5 hdf5-devel numpy
Затем во избежание получения ошибки FindGSL.cmake: gsl-config not found
последовательно выполняем команды ниже (полный текст инструкции, в случае необходимости, можно найти тут):
wget ftp://ftp.gnu.org/gnu/gsl/gsl-2.7.tar.gz
tar -zxvf gsl-2.7.tar.gz
cd gsl-2.7
mkdir /home/$USER/gsl
./configure --prefix=/home/$USER/gsl
make
make check
make install
gsl-config
Открываем папку с исходным кодом:
cd casacore
Производим сборку (процесс достаточно длительный, от часа и дольше):
mkdir build
cd build
cmake ..
make
sudo make install
sudo dnf install libnsl
npm install nsl
Заходим на сервер ftp://ftp.astron.nl/outgoing/Measures
и скачиваем файл WSRT_Measures.ztar в папку home. Затем распаковываем его.
Создаем файл, который будет хранить путь к данным обсерваторий:
nano .casarc
куда прописываем путь к данным: measures.observatory.directory: /home/$USER/WSRT_Measures/geodetic
Сохраняем сочетанием ctrl + O
Создаем переменную среды, указывая свой путь до файла: export CASARCFILES=“path/to/.casarc”
, затем перезапускаем консоль
Выполняем, находясь в виртуальном окружении conda casa:
python3 -m casatools --update-user-data
sudo dnf install gcc gcc-c++
Выполняем, находясь в виртуальном окружении conda casa:
pip install git+https://github.com/maria-globa/srhdata.git
1. libGL error:
libGL error: failed to load driver: nouveau libGL
error: MESA-LOADER: failed to open swrast
error: failed to load driver: swrast
Решение: conda install -c conda-forge libstdcxx-ng
Если указанное выше не помогло, следует найти расположение данной библиотеки в системе с помощью
find / -name libstdc++.so.6 2>/dev/null
Затем любой из вариантов расположения (например, в /usr/lib64/
) добавить в файл .bashrs
или соответсвующий файл другого интерпретатора терминала в папке home
в следующем виде:
export LD_PRELOAD=/usr/lib64/...path_to_file...
2. Черный экран при запуске скриптов
Решение: Spyder -> Tools -> Preferences -> IPython console -> Graphics -> Grapics backend -> Qt 5
3. Gnome error
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome.
Use QT_QPA_PLATFORM=wayland to run on Wayland anyway
Решение:
- Расскоментировать строку
WaylandEnable=false
в файле/etc/gdm3/custom.conf
- Добавить
Add QT_QPA_PLATFORM=xcb
в/etc/environment
4. В процессе работы появляется много кэша индексации файлов tracker3
Очистка кэша осуществляется так:
tracker3 reset --filesystem
Рекомендуется прописать в начале скрипта отключение данной службы, а в конце - включение
5. Любая другая ошибка
Просьба создавать issues, если не знаете как решить, или pull requests если знаете решение 😃