著名天文摄影控制软件 MaxIm DL 的脚本开发指南。
MaxIm DL provides an ActiveX Automation interface for scripting and externally controlling the CCD camera and document processing operations. This interface is also used to support writing image processing plug-ins. Availability of this feature depends on Product Level.
### MaximDL 5.15 Scripting Guide 脚本编程指南
#### 一、概述
MaxIm DL 是一款著名的天文摄影控制软件,为用户提供了一个强大的ActiveX自动化接口,允许用户通过编写脚本来控制CCD相机及文档处理操作。此外,该接口还支持图像处理插件的开发。需要注意的是,并非所有版本的MaxIm DL都提供了这一功能,其可用性取决于产品的级别。
#### 二、Windows Scripting Reference (Windows脚本参考)
这一章节主要介绍了如何在Windows环境下使用脚本语言来控制MaxIm DL。包括但不限于如何初始化接口、调用方法以及处理事件等。通过这些基础知识的学习,用户可以更好地理解和掌握MaxIm DL的自动化控制方式。
#### 三、Image Processing Plug-In Modules (图像处理插件模块)
MaxIm DL允许开发者创建自定义的图像处理插件,以增强软件的功能性和灵活性。这部分内容将详细介绍如何设计和实现这些插件,包括所需的API和示例代码等。
#### 四、ASCOM Properties and Methods (ASCOM属性与方法)
ASCOM标准为天文学家提供了一种统一的方式来控制各种天文设备。MaxIm DL支持ASCOM标准,这部分内容将介绍如何利用ASCOM标准中的属性和方法来控制天文设备,如望远镜、CCD相机等。
#### 五、MaxIm DL Properties and Methods (MaxIm DL属性与方法)
这部分详细列举了MaxIm DL中可用的属性和方法。这些API为用户提供了一种直接控制软件行为的方式,使得自动化控制变得更加简单易行。具体包括:
- **AutofocusStatus**: 自动对焦状态。
- **Blinking**: 图像闪烁功能。
- **CalAutoFlat**: 自动平坦校准。
- **CalManualScale**: 手动缩放比例设置。
- **CalMasterBias**: 主偏置校准。
- **CalMasterDark**: 主暗场校准。
- **CalMasterFlat**: 主平坦场校准。
- **CalMedianBias**: 均值偏置校准。
- **CalMedianDark**: 均值暗场校准。
- **CalMedianFlat**: 均值平坦场校准。
- **CalScaleType**: 缩放类型设置。
- **CCDCamera**: 相机控制。
- **CurrentDocument**: 当前文档管理。
- **Documents**: 文档列表管理。
- **EventMask**: 事件掩码设置。
- **FirstDocument**: 第一个文档获取。
- **FocuserConnected**: 聚焦器连接状态。
- **LockApp**: 应用程序锁定。
- **NextDocument**: 下一个文档获取。
- **TelescopeConnected**: 望远镜连接状态。
- **Version**: 版本信息获取。
#### 六、Application Events (应用程序事件)
这一部分介绍了MaxIm DL提供的事件系统,包括如何监听和响应各种事件。例如,“Notify”事件用于通知脚本某些特定的状态变化或完成的操作。了解这些事件对于构建复杂的应用程序逻辑非常重要。
#### 七、Application Properties (应用程序属性)
- **AutofocusStatus**: 查询或设置自动对焦的状态。
- **Blinking**: 控制图像的闪烁效果。
- **CalAutoFlat**: 设置是否启用自动平坦校准。
- **CalManualScale**: 设置手动缩放的比例。
- **CalMasterBias**: 设置主偏置校准。
- **CalMasterDark**: 设置主暗场校准。
- **CalMasterFlat**: 设置主平坦场校准。
- **CalMedianBias**: 设置均值偏置校准。
- **CalMedianDark**: 设置均值暗场校准。
- **CalMedianFlat**: 设置均值平坦场校准。
- **CalScaleType**: 设置缩放类型。
- **CCDCamera**: 获取或设置当前使用的CCD相机对象。
- **CurrentDocument**: 获取或设置当前活动的文档。
- **Documents**: 获取文档列表。
- **EventMask**: 设置事件掩码。
- **FirstDocument**: 获取第一个文档。
- **FocuserConnected**: 检查聚焦器是否连接。
- **LockApp**: 锁定应用程序,防止其他操作干扰。
- **NextDocument**: 获取下一个文档。
- **TelescopeConnected**: 检查望远镜是否连接。
- **Version**: 获取MaxIm DL的版本信息。
#### 八、Application Methods (应用程序方法)
- **Autofocus**: 执行自动对焦操作。
- **Blink**: 开启或关闭图像的闪烁效果。
- **CalAddBias**: 添加偏置校准文件到校准组。
- **CalAddDark**: 添加暗场校准文件到校准组。
- **CalAddFlat**: 添加平坦场校准文件到校准组。
- **CalClear**: 清除所有的校准文件。
- **CalSet**: 设置校准文件。
- **CloseAll**: 关闭所有打开的文档。
- **CreateCalibrationGroups**: 创建校准组。
- **CompareImages**: 比较两张图像。
- **SetCMYCoeffs**: 设置CMY色彩系数。
- **SetRGBCoeffs**: 设置RGB色彩系数。
- **TileHorizontal**: 将图像水平排列显示。
- **TileVertical**: 将图像垂直排列显示。
#### 九、CCDCameraEvents (CCDCamera事件)
这部分内容列举了CCDCamera对象相关的事件,如“Notify”事件,当相机的状态发生改变时,该事件会被触发,允许脚本实时监控相机的状态。
#### 十、CCDCamera Properties (CCDCamera属性)
- **AmbientTemperature**: 当前环境温度。
- **AO7MirrorHome**: 自动导向镜归位状态。
- **AOSwapMirrorAxes**: 自动导向镜轴交换设置。
- **AOBumpTime**: 自动导向碰撞时间。
- **AOSwapMotorAxes**: 自动导向电机轴交换设置。
- **AO7TiltX**: 自动导向X方向倾斜角度。
- **AO7TiltY**: 自动导向Y方向倾斜角度。
- **AO7TrackBoxCount**: 自动导向追踪框数量。
- **AutoDownload**: 是否自动下载图片。
- **BinX**: X方向像素二值化。
- **BinY**: Y方向像素二值化。
- **Calibrate**: 是否启用校准。
- **CameraName**: 相机名称。
- **CameraStatus**: 相机状态。
- **CameraXSize**: 相机X尺寸。
- **CameraYSize**: 相机Y尺寸。
- **CanSetTemperature**: 是否支持设置温度。
- **CoolerOn**: 冷却器是否开启。
- **CoolerPower**: 冷却器功率。
- **DisableAutoShutdown**: 是否禁用自动关机。
- **Document**: 当前文档。
- **EventMask**: 事件掩码设置。
- **FanEnabled**: 风扇是否启用。
- **FastReadout**: 快速读取设置。
- **Filter**: 当前滤光片。
- **FilterNames**: 滤光片名称列表。
- **FilterWheelName**: 滤光轮名称。
- **FWHM**: 星点半宽度半高(Full Width at Half Maximum)。
- **GuideControlVia**: 导星控制方式。
- **GuiderAggressiveness**: 导星器灵敏度。
- **GuiderAggressivenessX**: 导星器X方向灵敏度。
- **GuiderAggressivenessY**: 导星器Y方向灵敏度。
- **GuiderAmbientTemperature**: 导星器环境温度。
- **GuiderAngle**: 导星器角度。
- **GuiderArray**: 导星器数组。
以上是MaxIm DL 5.15版脚本编程指南的主要内容概述。通过学习这些知识点,用户可以有效地利用MaxIm DL的强大功能进行天文摄影和数据处理工作。
1