Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - OriolLehmkuhl

Pages: [1] 2
1
Gallery / M81/ M82 deep field
« on: 2009 March 09 15:54:06 »
Hi,

We would like to share with you our last photo. We have dedicated a lot of hours of acquisition (more than 14h) and many more in processing this image. In fact, from the beginning we had an idea of what objectives to achieve (well or at least we have tried :D ). First of all, to bring out as much detail of the IFN as possible, and at the same time, preserve small scale details in galaxies.  The image is the result of:

- 7 h in 900'' subexps for L
- 4:30 h in 600'' for RGB
- 3 h in 900'' subexps for Ha.

taken through baader filters with QSI540ws camera and FSQ106

here you have the image:



and at full size for details here: http://pteam.pixinsight.com/oriol.lehmkuhl/m81-82/m81m82Large.png

We hope you like it ;)

Regards,

Oriol&Ivette

2
Gallery / ngc 2264
« on: 2009 January 28 13:45:37 »
Hi folks,

Last night we have been imaging in Ha to the Cone nebula and the Christmas tree region from our home. We have been nicely surprised due to the high amount of signal even with light pollution. We have combined this Ha with the RGB, here you have the results ;)



and full size: http://pteam.pixinsight.com/oriol.lehmkuhl/test/coneHA_RGB.png

We hope you like it!

Regards,

Oriol & Ivette

3
Gallery / Cone nebula and Christmas tree
« on: 2009 January 14 16:05:06 »
Hi folks and happy new year!

This is our last work, we have been waiting for the good weather for imaging withe our new scope (and FSQ106ED), but during the whole new Moon was impossible. At last we have one day, just one! and with waxing Moon :? but anyway , here is the image, still waiting for some Ha data. We hope you like it   :wink:





and at 100%:

http://astrosurf.com/brego-sky/images/coneLarge.jpg


Oriol&Ivette

4
PCL and PJSR Development / Session planer preview
« on: 2008 October 13 15:30:08 »
Hola,

bueno pues esto es un previo del script del que hablábamos ayer ;) De momento solamente baja la imagen del DSS y le aplica un estirado de histogramas para que se vea bien. Veréis que se puede seleccionar los catálogos Messier, NGC y IC o introducir unas coordenadas. Después, de momento, hay una opción de modificar el FOV (hasta 120x120 arcmin). Un par de screenshots para ver como va, primero el menú:


English version below        



despues el resultado :D



Bueno, problemas que tenemos:

- De momento el script solamente va en Linux
- El DSS solo da como máximo 120 x 120 arcmin, asi que pensamos usar el Star alignement para generar mosaicos para casos de mas resolución.

Cosas que queremos poner:

- Calculo de efemérides.
- Objetos por temporada (verano, primavera...)
- Poder definir un rectángulo que represente una cámara y poderlo rotar para evaluar posibles encuadres .

Que os parece? Alguna otra idea?

Dejamos el script por si ya es de ayuda a alguien  :D



Code: [Select]

#include <pjsr/Sizer.jsh>
#include <pjsr/FrameStyle.jsh>
#include <pjsr/TextAlign.jsh>
#include <pjsr/StdButton.jsh>
#include <pjsr/StdIcon.jsh>
#include <pjsr/UndoFlag.jsh>
#include <pjsr/ColorSpace.jsh>
#include <pjsr/NumericControl.jsh>


var catalog = new Array;

catalog [0] = "UserDefined";
catalog [1] = "M";
catalog [2] = "NGC";
catalog [3] = "IC";

function showImage(data) {
    console.show();
    if(!data.north) data.dec_h = data.dec_h*(-1);
    if(data.catalog) console.execute("!wget http://archive.eso.org/dss/dss/image?name="+catalog[data.catalog]+data.id+"&equinox=J2000&x="+data.fovX+"&y="+data.fovY+"&Sky-Survey=DSS1&mime-type=display/gz-fits -O /tmp/image.fits ");
    else             console.execute("!wget http://archive.eso.org/dss/dss/image?ra="+data.ra_h+"+"+data.ra_min+"+"+data.ra_sec+"&dec="+data.dec_h+"+"+data.dec_min+"+"+data.dec_sec+"&equinox=J2000&x="+data.fovX+"&y="+data.fovY+"&Sky-Survey=DSS1&mime-type=display/gz-fits -O /tmp/image.fits ");

    var image = ImageWindow.open("/tmp/image.fits");
    var view  = image[0].mainView;

    var at = new AutoHistogram;
    with ( at )
    {
        clipLowR = 0.100;
        clipHighR = 0.000;
        medianR = 0.70000000;
        clipLowG = 0.100;
        clipHighG = 0.000;
        medianG = 0.70000000;
        clipLowB = 0.100;
        clipHighB = 0.000;
        medianB = 0.70000000;
        isHistogramClipEnabled = true;
        isGammaEnabled = true;
        isGlobalHistogramClip = false;
        isGlobalGamma = false;
    }

    view.beginProcess(UndoFlag_NoSwapFile);
    at.executeOn(view);
    view.endProcess();

    image[0].show();
}

function SessionPlanerSkinData()
{
    this.catalog = 1;
    this.id = 1;
    this.fovX = 60;
    this.fovY = 60;
    this.ra_h = 1;
    this.ra_min = 1;
    this.ra_sec = 1;
    this.dec_h = 1;
    this.dec_min = 1;
    this.dec_sec = 1;
    this.north = true;
}

var data = new SessionPlanerSkinData;

function SessionPlanerSkinDialog()
{
    this.__base__ = Dialog;
    this.__base__();

    var emWidth = this.font.width( 'M' );
    var labelWidth1 = this.font.width( "Amount:" );

    this.helpLabel = new Label( this );
    this.helpLabel.frameStyle = FrameStyle_Box;
    this.helpLabel.margin = 4;
    this.helpLabel.wordWrapping = true;
    this.helpLabel.useRichText = true;
    this.helpLabel.text = "<p><b>Session Planer Script</b> - A simple script to download DSS images." +
        "It can be useful for planning deep sky framings.</p>"+
        "<p><i> This is a beta version, only for Linux OS </i></p>"+
        "<p>Written by Ivette Rodríguez and Oriol Lehmkuhl, 2008</p>";

    // Target object specifications

    this.catalog_Label = new Label( this );
    this.catalog_Label.text = "Object name:";
    this.catalog_Label.textAlignment = TextAlign_Right|TextAlign_VertCenter;
    this.catalog_Label.minWidth = labelWidth1;

    this.catalog_ComboBox = new ComboBox( this );
    for ( var i = 0; i < catalog.length; ++i )
        this.catalog_ComboBox.addItem( catalog[i] );
    this.catalog_ComboBox.currentItem = data.catalog;
    this.catalog_ComboBox.toolTip = "";

    this.catalog_ComboBox.onItemSelected = function( index )
    {
        data.catalog = index;
        if(index==0) {
            this.dialog.ra_h_SpinBox.enabled    = true;
            this.dialog.ra_min_SpinBox.enabled  = true;
            this.dialog.ra_sec_SpinBox.enabled  = true;
            this.dialog.dec_h_SpinBox.enabled   = true;
            this.dialog.dec_min_SpinBox.enabled = true;
            this.dialog.dec_sec_SpinBox.enabled = true;
            this.dialog.catalog_SpinBox.enabled = false;
        } else {
            this.dialog.ra_h_SpinBox.enabled    = false;
            this.dialog.ra_min_SpinBox.enabled  = false;
            this.dialog.ra_sec_SpinBox.enabled  = false;
            this.dialog.dec_h_SpinBox.enabled   = false;
            this.dialog.dec_min_SpinBox.enabled = false;
            this.dialog.dec_sec_SpinBox.enabled = false;
            this.dialog.catalog_SpinBox.enabled = true;
        }
        switch(index) {
            case 1:
                this.dialog.catalog_SpinBox.maxValue = 110;
                break;
            case 2:
                this.dialog.catalog_SpinBox.maxValue = 7840;
                break;
            case 3:
                this.dialog.catalog_SpinBox.maxValue = 5386;
                break;
            default:
                break;
        }
    };

    this.catalog_SpinBox = new SpinBox( this );
    this.catalog_SpinBox.minValue = 1;
    this.catalog_SpinBox.maxValue = 120;
    this.catalog_SpinBox.value = data.id;
    this.catalog_SpinBox.toolTip = "";
    this.catalog_SpinBox.enabled = true;
    this.catalog_SpinBox.onValueUpdated = function( value )
    {
        data.id = value;
    };

    this.catalog_Sizer = new HorizontalSizer;
    this.catalog_Sizer.spacing = 4;
    this.catalog_Sizer.add( this.catalog_Label );
    this.catalog_Sizer.add( this.catalog_ComboBox, 100 );
    this.catalog_Sizer.add( this.catalog_SpinBox);


    // RA
    this.ra_Label = new Label( this );
    this.ra_Label.text = "RA:";
    this.ra_Label.textAlignment = TextAlign_Right|TextAlign_VertCenter;
    this.ra_Label.minWidth = labelWidth1;

    this.ra_h_SpinBox = new SpinBox( this );
    this.ra_h_SpinBox.minValue = 0;
    this.ra_h_SpinBox.maxValue = 23;
    this.ra_h_SpinBox.value = data.ra_h;
    this.ra_h_SpinBox.toolTip = "";
    this.ra_h_SpinBox.enabled = false;
    this.ra_h_SpinBox.onValueUpdated = function( value )
    {
        data.ra_h = value;
    };

    this.ra_min_SpinBox = new SpinBox( this );
    this.ra_min_SpinBox.minValue = 0;
    this.ra_min_SpinBox.maxValue = 59;
    this.ra_min_SpinBox.value = data.ra_min;
    this.ra_min_SpinBox.toolTip = "";
    this.ra_min_SpinBox.enabled = false;
    this.ra_min_SpinBox.onValueUpdated = function( value )
    {
        data.ra_min = value;
    };

    this.ra_sec_SpinBox = new SpinBox( this );
    this.ra_sec_SpinBox.minValue = 0;
    this.ra_sec_SpinBox.maxValue = 59;
    this.ra_sec_SpinBox.value = data.ra_sec;
    this.ra_sec_SpinBox.toolTip = "";
    this.ra_sec_SpinBox.enabled = false;
    this.ra_sec_SpinBox.onValueUpdated = function( value )
    {
        data.ra_sec = value;
    };

    this.ra_Sizer = new HorizontalSizer;
    this.ra_Sizer.spacing = 4;
    this.ra_Sizer.add( this.ra_Label );
    this.ra_Sizer.add( this.ra_h_SpinBox );
    this.ra_Sizer.add( this.ra_min_SpinBox );
    this.ra_Sizer.add( this.ra_sec_SpinBox );

    // DEC

    this.isNorth_CheckBox = new CheckBox(this);
    this.isNorth_CheckBox.text = "is South";
    this.isNorth_CheckBox.checked = !data.north;
    this.isNorth_CheckBox.toolTip = "";

    this.isNorth_CheckBox.onCheck = function( checked )
    {
        data.north = !checked;
    };

    this.dec_Label = new Label( this );
    this.dec_Label.text = "DEC:";
    this.dec_Label.textAlignment = TextAlign_Right|TextAlign_VertCenter;
    this.dec_Label.minWidth = labelWidth1;

    this.dec_h_SpinBox = new SpinBox( this );
    this.dec_h_SpinBox.minValue = 0;
    this.dec_h_SpinBox.maxValue = 90;
    this.dec_h_SpinBox.value = data.dec_h;
    this.dec_h_SpinBox.toolTip = "";
    this.dec_h_SpinBox.enabled = false;
    this.dec_h_SpinBox.onValueUpdated = function( value )
    {
        data.dec_h = value;
    };

    this.dec_min_SpinBox = new SpinBox( this );
    this.dec_min_SpinBox.minValue = 0;
    this.dec_min_SpinBox.maxValue = 59;
    this.dec_min_SpinBox.value = data.dec_min;
    this.dec_min_SpinBox.toolTip = "";
    this.dec_min_SpinBox.enabled = false;
    this.dec_min_SpinBox.onValueUpdated = function( value )
    {
        data.dec_min = value;
    };

    this.dec_sec_SpinBox = new SpinBox( this );
    this.dec_sec_SpinBox.minValue = 0;
    this.dec_sec_SpinBox.maxValue = 59;
    this.dec_sec_SpinBox.value = data.dec_sec;
    this.dec_sec_SpinBox.toolTip = "";
    this.dec_sec_SpinBox.enabled = false;
    this.dec_sec_SpinBox.onValueUpdated = function( value )
    {
        data.dec_sec = value;
    };

    this.dec_Sizer = new HorizontalSizer;
    this.dec_Sizer.spacing = 4;
    this.dec_Sizer.add( this.isNorth_CheckBox );
    this.dec_Sizer.add( this.dec_Label );
    this.dec_Sizer.add( this.dec_h_SpinBox );
    this.dec_Sizer.add( this.dec_min_SpinBox );
    this.dec_Sizer.add( this.dec_sec_SpinBox );

    this.dmParGroupBox = new GroupBox( this );
    this.dmParGroupBox.title = "Target Selection:";
    this.dmParGroupBox.sizer = new VerticalSizer;
    this.dmParGroupBox.sizer.margin = 4;
    this.dmParGroupBox.sizer.spacing = 4;
    this.dmParGroupBox.sizer.add( this.catalog_Sizer );
    this.dmParGroupBox.sizer.add( this.ra_Sizer );
    this.dmParGroupBox.sizer.add( this.dec_Sizer );

    // Eyepice options
    this.fovX_Label = new Label( this );
    this.fovX_Label.text = "X field of view [arcmin]:";
    this.fovX_Label.textAlignment = TextAlign_Right|TextAlign_VertCenter;
    this.fovX_Label.minWidth = labelWidth1;

    this.fovX_SpinBox = new SpinBox( this );
    this.fovX_SpinBox.minValue = 1;
    this.fovX_SpinBox.maxValue = 120;
    this.fovX_SpinBox.value = data.fovX;
    this.fovX_SpinBox.toolTip = "";

    this.fovX_SpinBox.onValueUpdated = function( value )
    {
        data.fovX = value;
    };

    this.fovX_Sizer = new HorizontalSizer;
    this.fovX_Sizer.spacing = 4;
    this.fovX_Sizer.add( this.fovX_Label );
    this.fovX_Sizer.add( this.fovX_SpinBox );
    this.fovX_Sizer.addStretch();

    this.fovY_Label = new Label( this );
    this.fovY_Label.text = "Y field of view [arcmin]:";
    this.fovY_Label.textAlignment = TextAlign_Right|TextAlign_VertCenter;
    this.fovY_Label.minWidth = labelWidth1;

    this.fovY_SpinBox = new SpinBox( this );
    this.fovY_SpinBox.minValue = 1;
    this.fovY_SpinBox.maxValue = 120;
    this.fovY_SpinBox.value = data.fovY;
    this.fovY_SpinBox.toolTip = "";

    this.fovY_SpinBox.onValueUpdated = function( value )
    {
        data.fovY = value;
    };

    this.fovY_Sizer = new HorizontalSizer;
    this.fovY_Sizer.spacing = 4;
    this.fovY_Sizer.add( this.fovY_Label );
    this.fovY_Sizer.add( this.fovY_SpinBox );
    this.fovY_Sizer.addStretch();

    this.dseParGroupBox = new GroupBox( this );
    this.dseParGroupBox.title = "Eyepice Options:";
    this.dseParGroupBox.sizer = new VerticalSizer;
    this.dseParGroupBox.sizer.margin = 4;
    this.dseParGroupBox.sizer.spacing = 4;
    this.dseParGroupBox.sizer.add( this.fovX_Sizer );
    this.dseParGroupBox.sizer.add( this.fovY_Sizer );

    // usual control buttons
    this.ok_Button = new PushButton( this );
    this.ok_Button.text = " OK ";

    this.ok_Button.onClick = function()
    {
        this.dialog.ok();
    };

    this.cancel_Button = new PushButton( this );
    this.cancel_Button.text = " Cancel ";

    this.cancel_Button.onClick = function()
    {
        this.dialog.cancel();
    };

    this.buttons_Sizer = new HorizontalSizer;
    this.buttons_Sizer.spacing = 4;
    this.buttons_Sizer.addStretch();
    this.buttons_Sizer.add( this.ok_Button );
    this.buttons_Sizer.add( this.cancel_Button );

    this.sizer = new VerticalSizer;
    this.sizer.margin = 6;
    this.sizer.spacing = 6;
    this.sizer.add( this.helpLabel );
    this.sizer.addSpacing( 4 );
    this.sizer.add( this.dmParGroupBox);
    this.sizer.add( this.dseParGroupBox);
    this.sizer.add( this.buttons_Sizer );

    this.windowTitle = "Session Planer Script";
    this.adjustToContents();
    this.setFixedSize();
}

SessionPlanerSkinDialog.prototype = new Dialog;

/*
 * Script entry point.
 */
function main()
{
    console.hide();

    var dialog = new SessionPlanerSkinDialog();
    for ( ;; )
    {
        if ( !dialog.execute() )
            break;

        // main routine.
        showImage( data );

        // Quit after successful execution.
        break;
    }
}

main();




This is a preview of the script we were talking yesterday. At this time, it is only capable of download an image from DSS (Deep Sky Survay) and stretch its histogram. As you can see, it is possible to select images from Messier, NGC and IC Catalogues or introduce the coordinates instead. The field of view of the image is limited up to 120'x120'. Here you have a couple of screenshots, to see how it works. The menu and the results.

Some items to solve
- The script works only in Linux Platform,
- Images from DSS are limited to 120x120', so we're planning use star alignment for mosaics

Things to do:

- Include ephemeris
- Season clasification of objects
- Define the eye piece and possibility of its rotation for framing

       

5
Hi folks,

we are trying to execute systems commands in a javascript without many success :? any idea?

Thanks,

6
Gallery / M33
« on: 2008 October 08 14:19:01 »
Hi folks,

We would like to share with you our last work. This was a long wait for this target, as last year we shoot it with a canon 400D with IR cut filter, so the improvement compared with the last year is evident :D
The image is the result of 21x600'' with  L filter and 9x300'' with RGB filters (each channel) in binning 2x2. When we planned the session, we though to capture RGB frames in binning 1x1, but the night we captured them was wet, with thin clouds, so at the end we decided to use binning 2x2.
The image was fully post-processed with PI 1.2
We hope ypu like it :wink:

Oriol&Ivette



and at larger size: http://www.astrosurf.com/brego-sky/images/M33-prova.jpg

7
Hi folks!

We have been trying to use the File Object to save arrays without success  :? This is our test code:

Code: [Select]

#include <pjsr/DataType.jsh>
#define N 10

function main()
{
   console.hide();
   var fo = new File;
   var userArray = new Array(N);
   for(var i=0;i<userArray.length;i++) {
        userArray[i] = i ;
   }
   fo.createForWriting("/home/oriol/testFile.dat");
   fo.write(userArray,DataType_Int32);
   fo.close();


   var fi = new File;
   var userArray2 = new Array(N);
   fi.openForReading("/home/oriol/testFile.dat");
   
   userArray2 = fi.read(DataType_Int32,N);
   for(var i=0;i<userArray2.length;i++) {
        console.writeln("position "+i+" value "+userArray2[i]+"\n");
   }
}

main();


If the macro N is changed to 1, the saved array is not well read (in fact, the length of the read array is 0  :? ) What is wrong in our test?

Regards

8
Gallery / Pacman Nebula (Hubble palette)
« on: 2008 September 01 11:25:46 »
Hi folks,

We would like to show you our last work that we have done taking advantage of the last summer days ;) The image was taken with the Visac at f/6.4 and the Artemis 4021 CCD camera. It is the result of  12x900'' Ha, 8x900'' [OIII] and 8x900s[SII] through Baader filters, fully post-processed with PI

We hope you like it ;)



and at higher resolution: http://astrosurf.com/brego-sky/nebulae/Pacman%20Nebula%20-%20NGC281.jpg

Regards

Oriol&Ivette

9
Hola,

[English version below]

dejamos aqui un pequeño script para fijar defectos de columna o filas, esta basado en el metodo que Juan propuso en el tutorial de deconvolucion y tambien en un script que Sander para disimular un defecto de columna. De momento es una version preliminar, nos gustaria que ademas de una columna completa o fila a corregir se pudiera coregir un rectangulo completo y ademas Carlos muy amablemente nos a propuesto que por defecto quede selecionado el valor de pixel de la columna/fila a arreglar al abrir el Dialogo y de momento eso no lo sabemos hacer  :oops: Pero en fin, es una primera version que quizas puede ser de ayuda a alguien:



Code: [Select]

// Script to correct columns and row defects of an image
// Based on the script from the image processing tutorial:
// "NGC 5189 from GeminiObservatory..." by J.Conejero
// and on the script to average two columns by Sander:
// http://pixinsight.com/forum/viewtopic.php?t=748


#include <pjsr/Sizer.jsh>
#include <pjsr/FrameStyle.jsh>
#include <pjsr/TextAlign.jsh>
#include <pjsr/StdButton.jsh>
#include <pjsr/StdIcon.jsh>
#include <pjsr/UndoFlag.jsh>
#include <pjsr/ColorSpace.jsh>
#include <pjsr/UndoFlag.jsh>

console.hide();

var window = ImageWindow.activeWindow;

function FLUserData() {
    this.fixColumn = true;
    this.fixRow    = false;
    this.position  = 0;
}
var userData = new FLUserData;

if ( window.isNull )
    throw Error( "There is no active image window!" );

var view = window.mainView;

function FixLinesDialog() {
    this.__base__ = Dialog;
    this.__base__();

    //

    var emWidth = this.font.width( 'M' );
    var labelWidth1 = this.font.width( "Maximum planet radius (px):" );
    var spinWidth1 = 8*emWidth;

    //

    this.helpLabel = new Label( this );
    this.helpLabel.frameStyle = FrameStyle_Box;
    this.helpLabel.margin = 4;
    this.helpLabel.wordWrapping = true;
    this.helpLabel.useRichText = true;
    this.helpLabel.text = "<b>FixLines Script</b> - Script to correct  "+
        "columns or rows defects in an image."
        //

    this.size_Label = new Label( this );
    this.size_Label.text = "Column/Row position (px):";
    this.size_Label.textAlignment = TextAlign_Right|TextAlign_VertCenter;
    this.size_Label.minWidth = labelWidth1;

    this.size_SpinBox = new SpinBox( this );
    this.size_SpinBox.minValue = 0;
    this.size_SpinBox.maxValue = Math.max(view.image.height,view.image.width);
    this.size_SpinBox.value = 0 ;
    this.size_SpinBox.setFixedWidth( spinWidth1 );
    this.size_SpinBox.toolTip = "Column or Row position";

    this.size_SpinBox.onValueUpdated = function( value )
    {
        userData.position = value;
    };

    this.size_Sizer = new HorizontalSizer;
    this.size_Sizer.spacing = 4;
    this.size_Sizer.add( this.size_Label );
    this.size_Sizer.add( this.size_SpinBox );
    this.size_Sizer.addStretch();
   
    // Type of defect: label
    this.typeOfDefectLab = new Label (this);
    with (this.typeOfDefectLab) {
        text = "Type of Defect:";
        textAlignment = TextAlign_Right | TextAlign_VertCenter;
        minWidth = labelWidth1;
    }
    // Type of defect: radio buttons
    this.typeOfDefectCol = new RadioButton (this);
    with (this.typeOfDefectCol) {
        text = "Column";
        checked=true;
        onCheck = function(checked) {
            userData.fixColumn = checked;
        }
    }

    this.typeOfDefectRow = new RadioButton (this);
    with (this.typeOfDefectRow) {
        text = "Row";
        onCheck = function(checked) {
            userData.fixRow = checked;
        }
    }

    // mask blur method: sizer
    this.typeOfDefectSize = new HorizontalSizer (this);
    with (this.typeOfDefectSize) {
        spacing = 16;
        add (this.typeOfDefectLab);
        add (this.typeOfDefectCol);
        add (this.typeOfDefectRow);
        addStretch();
    }

    //
    this.ok_Button = new PushButton( this );
    this.ok_Button.text = " OK ";

    this.ok_Button.onClick = function()
    {
        this.dialog.ok();
    };

    this.done_Button = new PushButton( this );
    this.done_Button.text = " Done ";

    this.done_Button.onClick = function()
    {
        this.dialog.cancel();
    };

    this.buttons_Sizer = new HorizontalSizer;
    this.buttons_Sizer.spacing = 4;
    this.buttons_Sizer.addStretch();
    this.buttons_Sizer.add( this.ok_Button );
    this.buttons_Sizer.add( this.done_Button );

    //

    this.sizer = new VerticalSizer;
    this.sizer.margin = 6;
    this.sizer.spacing = 6;
    this.sizer.add( this.helpLabel );
    this.sizer.addSpacing( 4 );
    this.sizer.add( this.size_Sizer );
    this.sizer.add( this.typeOfDefectSize );
    this.sizer.add( this.buttons_Sizer );

    this.windowTitle = "FixLines Script";
    this.adjustToContents();
    this.setFixedSize();
}

FixLinesDialog.prototype = new Dialog;

function FixColumn( image, col, channel )
{
   image.selectedChannel = channel;
   for ( var y = 0; y < image.height; ++y )
      image.setSample( (image.sample( col-2, y, channel ) + image.sample( col+2, y , channel ))/2, col, y , channel );
//   image.selectedRect = new Rect( col, 0, col, image.height ); Ara no...
//   for ( var i = 0; i < 2; ++i )
//       image.convolve( [1,  2,   3,  2,  1,
//               2,  7,  11,  7,  2,
//               3, 11,  17, 11,  3,
//               2,  7,  11,  7,  2,
//               1,  2,   3,  2,  1] );
}

function FixRow( image, row, channel)
{
   for ( var x = 0; x < image.width; ++x )
      image.setSample( (image.sample( x, row-2, channel ) + image.sample( x , row+2, channel ))/2, x, row, channel );
   
 //  image.selectedRect = new Rect( 0, row, image.width, row ); Ara no...
  // for ( var i = 0; i < 2; ++i )
 //      image.convolve( [1,  2,   3,  2,  1,
 //              2,  7,  11,  7,  2,
 //              3, 11,  17, 11,  3,
 //              2,  7,  11,  7,  2,
 //              1,  2,   3,  2,  1] );
}

function fixLinesEngine(userData) {
   var view = window.mainView;

   if(userData.fixColumn==userData.fixRow) {
       throw Error( "A column and a row can not be fixed at the same time!" );
   }
   with (view) {
       beginProcess();

       var isGray = view.image.colorSpace==ColorSpace_Gray;

       if(userData.fixColumn) {
           if(isGray) FixColumn(image, userData.position, 0);
           else {
               console.writeln("hsjsh");
               FixColumn(image, userData.position, 0);
               FixColumn(image, userData.position, 1);
               FixColumn(image, userData.position, 2);
           }
       } else {
           if(isGray) FixRow(image, userData.position, 0);
           else {
               FixRow(image, userData.position, 0);
               FixRow(image, userData.position, 1);
               FixRow(image, userData.position, 2);
           }
       }
       endProcess();
   }
}

function main() {
    var dialog = new FixLinesDialog();
    dialog.view = view;
 //   dialog.execute();
    while ( dialog.execute() )
      fixLinesEngine(userData);
}

main();


Bueno un saludo a todos

Oriol&Ivette

----------------------------------------------------------------------

This is a script for fixing column or row defects. It is based on a method proposed by Juan in the Deconvolution tutorial and also in one proposed by Sander for hiding a column defect. This is only a preliminary version, we would like to correct not only a column or a row but also a rectangle. Furthermore, Carlos has kindly suggest that  the pixel value for the column/row  to be fixed is selected by default when the widget is called. At this time, we dont know how to implement this option :oops:, so this is a first version. We hope this can be useful for somebody

Regards

10
Hola,

estamos haciendo unos scriptillos para facilitarnos un poco los procesados  :D si, andamos un poco baguetes y aburridos  :lol:  :lol:  :lol: Bien, el tema es que tenemos montado un script que basicamente implementa el metodo de neutralizacion de backround que explica Juan en el tutorial de las deconvoluciones. El tema es que de momento tenemos un metodo muy cutre para definir el centroide del preview a partir del cual se evaluan las estadisiticas, basicamente se le da las coordenadas al script   :lol:  :lol:  :lol: chapuzero, si, a partir de alli todo es automatico.
Hay alguna manera de que un usuario con el raton marque una zona de la imagen y des del script se pueda "coger" esas coordenadas. La verdad es que facilitaria el uso del script y de existir esta funcionalidad, seria sencillo ampliar el numero de previews a generar para asi hacer una neutralizacion mas exacta.

Pues eso, gracias

Oriol&Ivette

11
Gallery / IC1848 - The Soul Nebula
« on: 2008 August 17 04:03:45 »
Hi folks,

This is another image taken during this holidays in central Spain. As for the  Heart Nebula, in this one we have also used Hubble palette for color rendition. It have also taken through Baader filters at 345 mm of focal lenght and with Artemis 4o021 camera. The image is the result of 8x900s (each channel)  fully post-processed with PixInsight 1.2

We hope you like it :wink:

 

and at full size: http://www.astrosurf.com/brego-sky/nebulae/Soul%20Nebula%20-%20IC1848.jpg

Regards,

Oriol&Ivette

12
Gallery / IC1805 in narrowband
« on: 2008 August 13 12:35:49 »
Hi folks,

As part as the images taken during our holidays at central Spain (Huerta del Marquesado, Cuenca), now we want to share with you the Heart Nebula. This time we have chosen the Hubble palette for colour rendition. As the other images, this one was taken at 345mm of focal lenght with our Artemis4021 CCD camera. It has 8x900s at each channel (Ha, SII, OIII) and was completely post-processed with PI 1.2

We hope you like it :wink:



http://www.astrosurf.com/brego-sky/nebulae/Heart%20Nebula%20-%20IC1805.jpg


Regards,

Oriol&Ivette

13
Gallery / Crescent nebula and neighbours
« on: 2008 August 10 05:58:42 »
Hi folks,

This image is one of the images taken during this holidays. In this case corresponds with the Crescent nebula and its neighbours. The image was taken through narrowband filters (it has been the subject of this holidays), with subexposures of: 6x900s in Ha, 6x900s in [OIII] and 10x900s in [SII] (the signal of teh [SII] is really, really noisy) combined as [SII] maroon, Ha as red and [OIII] as cyan. It is taken at 345mm of focal lenght with the usual equipment.

We  hope you like it  :wink:



and at full size: http://astrosurf.com/brego-sky/nebulae/Crescent%20Nebula%20and%20neighbours.jpg

Regards,

Oriol&Ivette

14
Gallery / East veil and Pickering's Triangle
« on: 2008 August 07 14:48:48 »
Hi folks,

after a few days of holidays at a small town in central spain (huerta del Marquesado) we have returned with some images  :D . In fact, we have taken advantage these days of dark skies and good weather.

Herewith, we have attached a narrowband image of the east veil and  Pickering's Triangle. We have used a Ha[OIII][OIII] colour palette for combining   8 images of Ha and 7 of [OIII], each of them of 15min, taken through Baader filters. The images have been taken at 345mm of focal length with the Artemis 4021 camera. The resulting image has been fully post-processed with PI.

We hope you like it  :wink:

Regards,

Ivette & Oriol



And for a larger size: http://astrosurf.com/brego-sky/images/veilLarge.jpg

15
Gallery / Ic1396 aka the elephant trunk
« on: 2008 July 27 06:57:43 »
Hi folks!

It has been a lot, lot of time without post any photo, the bad weather together with a huge amount of work (we're just a little workaholics  :roll: ) reduced our astrophography production to zero  :cry: We'll expect that at least we can take advantage of these hollidays..... :twisted:

Ok, the photo. It was taken from Àger (Lleida) yesterday, 8 frames of 15min each, taken with the Ha Baader filter, by using  Megrez 72 at f/4.8 and the Artemis 4021 CCD camera. The image has been fully post-processed with PI.

We hope you like it  :wink:

Regards,

Oriol&Ivette



Full size here: http://astrosurf.com/brego-sky/images/trompa-2.jpg

Pages: [1] 2