Leonardo Orazi ha scritto:
Manda il codice del tuo plugin e ti dò una mano ad uscirne magari di 2 ne facciamo 1 buono...sempre che non sia OFFLIMIT
Ma si, offlimit... te lo metto anche qua se e' per quello:
Codice:
<ComClass(PlugIn.ClassId, PlugIn.InterfaceId, PlugIn.EventsId)> Public Class PlugIn
#Region "COM GUIDs"
REM *******************************************************
REM * Indicatori univoci - Cambiare per ogni nuovo plugin *
REM *******************************************************
Public Const ClassId As String = "a1524f94-2306-4438-9671-bca0c39d4532"
Public Const InterfaceId As String = "cb83c68c-2306-40e2-8df2-639264b7ffbc"
Public Const EventsId As String = "73265d4c-2306-4b3e-bd1a-34eabbd8ae77"
#End Region
Public Sub New()
REM *******************************
REM * Non cancellare o modificare *
REM *******************************
MyBase.New()
End Sub
Public Sub DoModal(ByVal Doc As MaxIm.Document)
REM ***********************************************
REM * Codice da eseguire alla chiamata del plugin *
REM ***********************************************
Dim N, W, H, I, J As Integer
If CInt(Doc.GetFITSKey("NAXIS")) = 2 Then
' Immagine monocromatica
Dim ImageMono(,) As Single
ImageMono = Doc.ImageArray
W = ImageMono.GetLength(1)
H = ImageMono.GetLength(0)
For I = 0 To H - 1
For J = 0 To W - 1
ImageMono(I, J) = ImageMono(I, J) * 64000
Next
Next
Doc.ImageArray = ImageMono
Else
' Immagine a colori
Dim ImageColor(,,) As Single
ImageColor = Doc.ImageArray
W = ImageColor.GetLength(2)
H = ImageColor.GetLength(1)
For N = 0 To 2
For I = 0 To H - 1
For J = 0 To W - 1
ImageColor(N, I, J) = ImageColor(N, I, J) * 64000
Next
Next
Next N
Doc.ImageArray = ImageColor
End If
Doc.StretchMode = MaxIm.ScreenStretchType.mxMaxValStretch
End Sub
Public ReadOnly Property Name() As String
REM *******************
REM * Nome del plugin *
REM *******************
Get
Return "PixInsight Normalize"
End Get
End Property
End Class
Si tratta di una cosa molto semplice come detto. In soldoni moltiplica ogni valore ADU dell'immagine per 64000. Mi serve per dare dei valori piu' "MaxIm's Style" ai FITS a 32 bit in virgola mobile generati da PixInsight. Quando viene compilato con VisualBasic Express 2010 genera quattro file:
Interop.MaxIm.dll
PixInsightNormalize.dll
PixInsightNormalize.tlb
PixInsightNormalize.xml
Sul PC dove ho scritto il codicillo funziona, copiando i quattro file su un altro PC no. Ho provato a scaricare dei plugin scritti da un altro astrofilo americano e lui da solo un file DLL che funziona senza dover fare nulla. Al limite provo a scrivere a Diffraction Limited.