A A A A Автор Тема: Проблема со связкой Maxim DL - Pinpoint  (Прочитано 2182 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Василий ВершининАвтор темы

  • *****
  • Сообщений: 3 717
  • Благодарностей: 122
  • Per anus ad astra
    • Skype - vasiliy_vershinin
    • Сообщения от Василий Вершинин
Решил я написать простенькую прогу, которая делала бы наводила телескоп, делала снимок максимом и вычисляла пинпоинтом координаты центра кадра для последующей синхронизации телескопа. Снимок делает, сначала при обращении app->get_CurrentDocument()->get_PinPointStatus() возвращается значение "1", собственно так и должно быть если снимок не обмерялся. Дальше начинается самое интересное: после PinPointSolve(RA,Dec) в максиме открывается окошко пинпоинта, где расписывается текущее состояние процесса, в это время  get_PinPointStatus() = 3 (пока все нормально). Потом окошко исчезает, а get_PinPointStatus() = 1 вместо положенных 2 после окончания вычислений. Координаты снимка - по нулям. Если запускать вручную, то все измеряется нормально. Пинпоинт 4 версии с таблеткой, Максим - 4.61.   

Оффлайн Anton

  • *****
  • Сообщений: 7 252
  • Благодарностей: 77
    • Сообщения от Anton
Re: Проблема со связкой Maxim DL - Pinpoint
« Ответ #1 : 14 Ноя 2008 [21:38:49] »
Решил я написать простенькую прогу, которая делала бы наводила телескоп, делала снимок максимом и вычисляла пинпоинтом координаты центра кадра для последующей синхронизации телескопа. Снимок делает, сначала при обращении app->get_CurrentDocument()->get_PinPointStatus() возвращается значение "1", собственно так и должно быть если снимок не обмерялся. Дальше начинается самое интересное: после PinPointSolve(RA,Dec) в максиме открывается окошко пинпоинта, где расписывается текущее состояние процесса, в это время  get_PinPointStatus() = 3 (пока все нормально). Потом окошко исчезает, а get_PinPointStatus() = 1 вместо положенных 2 после окончания вычислений. Координаты снимка - по нулям. Если запускать вручную, то все измеряется нормально. Пинпоинт 4 версии с таблеткой, Максим - 4.61.   
Скорее всего пинпойнт не может решить снимок и просто обламывается.
Ты подбери параметры для решалки сначала вручную.

Оффлайн Oleg San

  • *****
  • Сообщений: 2 664
  • Благодарностей: 63
  • Хрюкопуки - ЭТО СИЛА!!!
    • Сообщения от Oleg San
Re: Проблема со связкой Maxim DL - Pinpoint
« Ответ #2 : 14 Ноя 2008 [22:25:33] »
Василий, привет!

А чем тебя не устраивает собственно синхронизация телескопа максимкой?

Наверное,что-то всё-таки есть в наличии. Надо порыться.

Оффлайн Василий ВершининАвтор темы

  • *****
  • Сообщений: 3 717
  • Благодарностей: 122
  • Per anus ad astra
    • Skype - vasiliy_vershinin
    • Сообщения от Василий Вершинин
Re: Проблема со связкой Maxim DL - Pinpoint
« Ответ #3 : 14 Ноя 2008 [23:19:54] »
Устраивает, но я планирую сделать программу, которая бы автоматизировала процесс съемки нескольких объектов за ночь. Похоже, что действительно проблема в настройках, только непонятно, почему пинпоинт делает только одну итерацию при вычислении координат (придется писать код, который координаты перебирает?  ???) да и требования к точности уж слишком большие - при ошибке наведения в 30 секунд уже вылетает

Оффлайн ctac

  • Первооткрыватель астероидов и сверхновых
  • Обозреватель
  • *****
  • Сообщений: 7 789
  • Благодарностей: 266
  • Привет, со снежных вершин в июле... Короткий Стас
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от ctac
    • НЦ "Ка-Дар"
Re: Проблема со связкой Maxim DL - Pinpoint
« Ответ #4 : 14 Ноя 2008 [23:23:52] »
IzmCCD управляет самым крупным рефрактором в России (650мм). Даже если ошибка порядка одного поле зрения (не зависимо от его размеров) всеравно отпределяет координаты центра кадра. Даже если перевернуть как угодно.
 А вот Pinpoint надо зававать еще и ориентацию, если не ошибкаюсь - так что не очень хороша забугорная програмка.
http://vk.com/astro.nomy - новости наблюдательной астрономии

                 Ясного неба и удачи в наблюдениях!

Оффлайн Василий ВершининАвтор темы

  • *****
  • Сообщений: 3 717
  • Благодарностей: 122
  • Per anus ad astra
    • Skype - vasiliy_vershinin
    • Сообщения от Василий Вершинин
Re: Проблема со связкой Maxim DL - Pinpoint
« Ответ #5 : 14 Ноя 2008 [23:32:47] »
Нет, ориентацию он сам вычисляет - входные параметры это координаты и масштаб в секундах на пиксель. Пинпоинт кстати используется в ACP - одной из наиболее популярных программ для управления удаленной обсерваторией. Поле для отождествления тоже можно задавать, вплоть до 676 процентов от снимка, только не очень похоже что это работает

Оффлайн Oleg San

  • *****
  • Сообщений: 2 664
  • Благодарностей: 63
  • Хрюкопуки - ЭТО СИЛА!!!
    • Сообщения от Oleg San
Re: Проблема со связкой Maxim DL - Pinpoint
« Ответ #6 : 14 Ноя 2008 [23:38:39] »
Устраивает, но я планирую сделать программу, которая бы автоматизировала процесс съемки нескольких объектов за ночь.

а ведь максим это умеет. ;)

только непонятно, почему пинпоинт делает только одну итерацию при вычислении координат (придется писать код, который координаты перебирает?  ???)

а хрен его знает. вот в этом уже не рублю я совсем.  :P

да и требования к точности уж слишком большие - при ошибке наведения в 30 секунд уже вылетает

у меня максим вылетает только в двух случаях - если снимок слишком мелкий - на матрице QHY2Pro при отн отверстии 1/10.5 экспозиция меньше 2-3 секунд, либо слишком глубокий - перенасыщен звёздами. С ошибкой наведения в полградуса справляется легко, только дольше думает. Если align хотя бы по 1 звёзде в монти выполнен, то даже если искомый объект на краю поля зрения матрицы - ну, бывает частенько такое - plate solve считается за пару секунд по GSC1.1
Наверное,что-то всё-таки есть в наличии. Надо порыться.

Оффлайн Anton

  • *****
  • Сообщений: 7 252
  • Благодарностей: 77
    • Сообщения от Anton
Re: Проблема со связкой Maxim DL - Pinpoint
« Ответ #7 : 15 Ноя 2008 [00:04:25] »
Поле для отождествления тоже можно задавать, вплоть до 676 процентов от снимка, только не очень похоже что это работает
Работает великолепно, проверял бесчисленное количество раз.
Повторяю еще раз: Подбери сначала параметры для решаемой области, чтобы она отождествлялась вручную.
Начни с области точно совпадающей по координатам. Потом сдвинься с нее на одно поле зрения, сразу увидишь, как он по спирали наяривать начинает.

Оффлайн Василий ВершининАвтор темы

  • *****
  • Сообщений: 3 717
  • Благодарностей: 122
  • Per anus ad astra
    • Skype - vasiliy_vershinin
    • Сообщения от Василий Вершинин
Re: Проблема со связкой Maxim DL - Pinpoint
« Ответ #8 : 15 Ноя 2008 [00:09:49] »
Вручную нормально отождествляет, и пытается координаты центра перебирать, и в конце концов говорит, что все ок. Как только пытаюсь из своей проги обратиться к нему - если с первого раза не отождествляет, то вылетает.

Оффлайн Ivan Mhitarov

  • Модератор
  • *****
  • Сообщений: 6 326
  • Благодарностей: 108
  • Награды Неоднократный победитель конкурса астрофото
    • Сообщения от Ivan Mhitarov
Re: Проблема со связкой Maxim DL - Pinpoint
« Ответ #9 : 15 Ноя 2008 [12:18:20] »
Вася, вот код - он полностью рабочий.
Обрати внимание, при вызове PinPointSolve я не подставляю RA и DEC - он берет их из заголовков FITSа.
Function  TOptsDlg.SolveFITS(Var RA, Dec : Double) : Boolean;
Var I : Integer;
begin
  // Резолвинг PinPoint
  Result:=False;
  I:=0;
  Try
    I:=MC_MainForm.MaxIm.Document.PinPointStatus;
  Except
    //On E : Exception do ShowMessage('PinPoint Error '+E.Message);
    Exit;
  End;
  If I = 1 Then Begin
    Try
      MC_MainForm.MaxIm.Document.PinPointSolve;
      Repeat
        Sleep(100);
        Application.ProcessMessages;
        I:=MC_MainForm.MaxIm.Document.PinPointStatus;
      Until I = 2;
    Except
      //On E : Exception do ShowMessage(E.Message);
      Exit;
    End;
  End;
  If I = 2 Then Begin
    Try
      Ra:=MC_MainForm.MaxIm.Document.CenterRA;
      Dec:=MC_MainForm.MaxIm.Document.CenterDec;
      Result:=True;
    Except
      Result:=False;
    End;
  End;
end;



[.....]
  If jgPinSlew.Checked Then Begin
    // Запомнить старые настройки камеры

    // Установить новые настройки
    CaptureFrame(udSlewExp.Position, udSlewBin.Position, udSlewCrop.Position);
    WriteFITSHeaders('SLEW', Ra, Dec);

    //MC_MainForm.MaxIm.Document.OpenFile('C:\WORK\SatTrack\Images\PinPointTest.fit');
    // PinPoint
    Result:=False;
    If SolveFITS(R, D) Then Begin
      // Синхронизация телескопа
      Result:=Sqrt(Sqr(R-Ra)*Cs(Dec)+Sqr(D-Dec)) < udPinPointErr.Position;
      MC_MainForm.jsbStatusBar.Panels[2].Text:=Format('Err %.1f''', [60*Sqrt(Sqr(R-Ra)*Cs(Dec)+Sqr(D-Dec))]);
      Telescope.SyncToCoordinates(R, D);

      // Повторное наведение
      Telescope.SlewToCoordinates(Ra, Dec);
      // Еще один снимок
      If cbSlewSecondExp.Checked Then
        CaptureFrame(udSlewExp.Position, udSlewBin.Position, udSlewCrop.Position);
    End;
  End;
[.....]
Иван Мхитаров
Кубанский Астрономический Клуб "45".

Оффлайн Василий ВершининАвтор темы

  • *****
  • Сообщений: 3 717
  • Благодарностей: 122
  • Per anus ad astra
    • Skype - vasiliy_vershinin
    • Сообщения от Василий Вершинин
Re: Проблема со связкой Maxim DL - Pinpoint
« Ответ #10 : 17 Ноя 2008 [20:32:47] »
Мой код выглядит так:

if (app->get_CurrentDocument()->get_PinPointStatus()==1) {
app->get_CurrentDocument()->PinPointSolve();
ShowMessage("Measuring started");
while (app->get_CurrentDocument()->get_PinPointStatus()==3) //waiting for measuring
{
unsigned int sl=1000;
Sleep(sl);
Application->ProcessMessages();
}
}

if (app->get_CurrentDocument()->get_PinPointStatus()==2) {
ShowMessage("Measuring complete");
}

Мне кажется что в плане измерения координат он не сильно отличается, но никакой поиск по спирали даже не пытается активизироваться

Оффлайн Ivan Mhitarov

  • Модератор
  • *****
  • Сообщений: 6 326
  • Благодарностей: 108
  • Награды Неоднократный победитель конкурса астрофото
    • Сообщения от Ivan Mhitarov
Re: Проблема со связкой Maxim DL - Pinpoint
« Ответ #11 : 18 Ноя 2008 [10:33:02] »
1. Настраивай PinPoint. Вот что у меня (аттачи)
Сначала настраиваешь вручную PP, как показано на первой картинке. Примерные координаты центра снимка, фокусное расстояние и размер пикселя должны быть при этом прописаны в заголовке FITS.
Резолвишь PinPointом снимок вручную.

2. Убедись, что у тебя PinPoint правильный - на прощелканном снимке должен отождествлять звезду из каталога (аттач 2).

3. Не знаю, може попробуешь вместо
while (app->get_CurrentDocument()->get_PinPointStatus()==3) //waiting for measuring
{
  unsigned int sl=1000;
  Sleep(sl);
  Application->ProcessMessages();
}
сделать что-то типа
do{
  Sleep(1000);
  Application->ProcessMessages();
} while (app->get_CurrentDocument()->get_PinPointStatus()==2)
и обернуть все это в try-catch.
Иван Мхитаров
Кубанский Астрономический Клуб "45".

Оффлайн d_w

  • *****
  • Сообщений: 1 947
  • Благодарностей: 131
    • Сообщения от d_w
Re: Проблема со связкой Maxim DL - Pinpoint
« Ответ #12 : 28 Окт 2009 [22:27:26] »
При попытке задействовать PinPoint в Maxim DL пинпоинт ругается ошибкой:
The plate`s exposure start time is required for catalog motion calculation. Check the attached image.
На картине не влезли все данные из FITS HEADER. Относящиеся к времени там еще "UT-START 23:58:37.00" и "JD 2455131.4990389999"
Кадр FITS после ириса.
Чего ему не хватает?

Оффлайн OlegBr

  • ****
  • Сообщений: 369
  • Благодарностей: 86
    • Skype - oleg.bryzgalov
  • Награды Неоднократный победитель конкурса астрофото
    • Сообщения от OlegBr
    • Мои астрофото
Re: Проблема со связкой Maxim DL - Pinpoint
« Ответ #13 : 29 Окт 2009 [10:45:11] »
Может быть, формат даты в заголовке FITS неверен? Попробуйте отредактировать и записать поле DATE-OBS в виде 2009-10-26T23:58:37
С уважением, Олег Брызгалов
http://olegbr.astroclub.kiev.ua/

Оффлайн d_w

  • *****
  • Сообщений: 1 947
  • Благодарностей: 131
    • Сообщения от d_w
Re: Проблема со связкой Maxim DL - Pinpoint
« Ответ #14 : 29 Окт 2009 [11:36:26] »
Может быть, формат даты в заголовке FITS неверен? Попробуйте отредактировать и записать поле DATE-OBS в виде 2009-10-26T23:58:37

Ага, спасибо! Помогло! Куда я глядел?!
С каталогом GSC-1.1 обнаруживал в заданном диапазоне магнитуды только 4 звезды на поле, естественно идентифицировать не мог. Подключил USNO-A2 и вуаля) 244 звезды доступно, 127 опознал. Поле снимка примерно 57х37 arcmin

P/S/ Но определить фокусное все равно не хочет: "FL N/A mm". Шайтан! Получилось. Необходимо в заголовке FITS прописывать ручками (если не прописывает сама камера, не у всех всякие сбиги) XPIXSZ и YPIXSZ, размеры пикселей в микронах.
« Последнее редактирование: 07 Ноя 2009 [13:31:33] от d_w »

Оффлайн Palomar

  • ****
  • Сообщений: 423
  • Благодарностей: 61
    • Skype - live:astromechanicsgroup
    • Сообщения от Palomar
    • ASTROMECHANICS
Re: Проблема со связкой Maxim DL - Pinpoint
« Ответ #15 : 27 Сен 2012 [18:21:49] »
Подниму тему, ибо проблема точно такая же. Функция PinPointSolve отрабатывает только если Approx Center очень близок к реальному. В противном случае солвинг обламывается. Никаких попыток использовать новый центр (как это бывает в ручном режиме) PinPoint не делает. При ручном запуске всё решается на ура даже при большом промахе, просто думает дольше. При вызове из скрипта - только одна итерация и если не решает сразу же, то "Solve failed" :(

PinPointSolve использовал как с явным указанием параметров, так и пустую, но со всеми необходимыми FITSKeys в заголовке. В этой теме топикстартер так и не написал, что же у него получилось в итоге.

MaximDL 5.10, Visual PinPoint 5.1 Trial, Win7 (если вдруг имеет значение)
Разработка оборудования для любительской астрономии
Light Pollution Meter PRO - измерение засветки ночного неба
ASCOM Canon Lens Controller - управление фокусом и диафрагмой объективов Canon EF/EF-S