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.


Messages - bianry

Pages: [1] 2 3 ... 6
1
Bug Reports / Re: Minor problem with readout mode
« on: 2014 March 27 22:59:01 »
I have experienced the same thing. I have found that if I open Edit-Readout Options the checkbox in Show readout preview is not checked. I need to check and click Apply Global.

regards

Mats

2
Gallery / Re: M81 & M82
« on: 2014 March 27 13:23:23 »
Very nice. This is what I have been trying to achieve with NGC 5033. Your M81 has a lot better structure. How many minutes/hours do you have in this image? Is it an LRGB image?

Regards

Mats

3
As far as I know. Yes.

regards

Mats

4
I am skating on thin ice here.... but anyway.

The peak is no more or less fixed than the toe. The histogram shows how many pixels are of a certain value. If normalized as PI does all values are 0..1 0 being black and 1 being saturated. If your red curve starts rising at say 0.002 then it means that there are no pixels with red data that has a lower value than 0.002.
If you want to widen the curve you stretch it. Ie convert the image to non-linear. As I understand it, what happens when we stretch an image by moving the midpoint is that the readout is moved. What should have been say 0.03 now reads 0.07. So the image gets lighter.

I can't see how DSS could do anything else than this. Then there are other means of stretching. Gamma-strecthing and whatever they are called.

The same thing happens when you use the Curve tool. You are moving the readout points and getting a lighter/darker/ more constrasty image. What you can't do with curves or Histogramstretch is inventing data that is not there. You can destroy data very easily by clipping the high or low point.

http://www.luminous-landscape.com/tutorials/understanding-series/understanding-histograms.shtml

I hope someone with deeper knowledge on this subject will take part in this discussion as I also would sometimes very much like to get the toes of the RGB-curves to line up better.

Regards

Mats

5
Background neutralization and color calibration should (in a perfect world) remove the blue tint.

regards

Mats

6
Uncheck this button on ScreenTransferFunction. Your image is blue because it is not background neutralized and color calibrated yet.

regards

Mats

7
I don't think you can make the peak higher or lower. The histogram is a measure of how many pixels have a certain RGB value. The higher the peak the more pixels. Only way to get a higher/lower peak would be adding/removing data. Also, as I understand it, moving the mid tone control moves the peak by stretching the histogram. So the toe of the curve will also be affected.
You can move a R,G,B peak separately with PixelMath. Member Gerald has a good PixelMath video demonstrating this.
http://www.werbeagentur.org/oldwexi/PixInsight/PixInsight.html

regards

Mats

8
Gallery / Re: NGC 5033. Critique please
« on: 2014 March 26 14:09:03 »
Yes, I agree. The sky has turned too black. I was so overwhelmed when I finally found a way to get rid of the noise that worked, that I got a bit carried away. It is strange. You think the sky should look good black. But it does not.

regards

Mats

9
Are you sure this is not something real that is only picked up by the blue filter? If you look at the Veil Nebula or something from The Pleiades you will see faint blue light. Maybe you picked up something like that. Where is the image from? What object?

regards

Mats

10
Gallery / NGC 5033. Critique please, Take 2
« on: 2014 March 25 09:49:25 »
Here is my first try at my white whale. About 2 hours total. Lum bin 1 + RGB bin 2

Would very much like tips on how to improve it. I have planned to take one more hour (at least) of images. I am not looking for praise but real ideas on what I should work on.

I have some ideas on what aspects I don't like but am awaiting your input.

Ok. This is v 2.0.

I my own opinion it is better. Not good. The composition is not right. It is cropped too tight I think. More space around the galaxy is needed.....



regards

Mats


11
Announcements / Re: PixInsight Resources
« on: 2014 March 24 09:45:52 »
Wow! Excellent! Thank you.
Looked at one of your galaxy processing tutorials. Now I have to redo everything  ;)

regards

Mats

12
General / Re: Multi-night, multiple-flat integration?
« on: 2014 March 24 06:07:40 »
I am the first to admit that I am no expert on this but here are my 2 ct.
If using BPPS I would feed all the frames using same flats/darks/bias at one time. Then you can switch to next batch with new light frames and new flats/darks.... By choosing the same output directory all frames will be neatly laid out in their own folders. Ready for integration. Just remember to use same reference frame for all images that will be stacked (integrated) together. Otherwise they will not line up.

I can give you an example of a run I did last week. I had 10 red, 10 blue, 10 green and 20 lum frames. I used BPPS four times. Every time different flat and correct dark/bias. For each stack I picked the one with the best FWHM as reference for the star alignment. Output directory stayed the same for all runs. I did not use BPPS for integration.
So after four runs I had 4 folders named Blue, Green, Lum and Red. Each folder contained 10 or 20 images that were calibrated and aligned. Ready to be fed to the integration (stacking) process.

Hope this helps

regards

Mats

13
PCL and PJSR Development / Re: Saving in CSV
« on: 2014 March 24 05:39:47 »
Hi bitli.
I agree that that part is suboptimal. I got the function from Juan in response to asking about saving values in human readable format. His code solved the problem with saving col/row values (which are arrays). I needed to also save the # of iterations and as a first approach I saved it as a array with one member.

The problem for me is that I can not understand why the code hangs if saving one more array.

regards

Mats

14
General / Re: Multi-night, multiple-flat integration?
« on: 2014 March 24 02:11:07 »
If you have different flats then you need to do different calibrations. Then star align followed by integration. Star align process will twist and turn your frames until they fit (if they fit at all). I have aligned frames where some are 180 degrees rotated from the others and that was not a problem.

I think the BatchPreProcess script can handle multiple flats in one go. But someone wiser than me can fill you in on that.

regards

Mats

15
PCL and PJSR Development / Re: Saving in CSV
« on: 2014 March 22 06:28:08 »
The lack of a debugger is having me stomped now.
I need to save the # of iterations so I added
Code: [Select]
if ( iterations == undefined )
   {
      this.iterations = new Array;
      this.iterations.push(1);
   }
   else
   {
      this.iterations = new Array;
      this.iterations.push(iterations);
   }
iterations is an int

then
Code: [Select]
outputCSVSequence( file, this.iterations, "iterations" );
Everything OK so far. But when I add
Code: [Select]
this.iterations = inputCSVSequence( lines, "iterations" );the script hangs on execution and I have to kill PI

I tried debugging with console.writeln but it hangs before anything is written. If I change  this.iterations = inputCSVSequence( lines, "iterations" ) to this.iterations = inputCSVSequence( lines, "rows" ) it does not hang.

I can not see what could cause this.
Whole function below if someone cares to take a look.
Code: [Select]
function LineRepairCSVFile( filePath, columns, rows, iterations )
{
   this.filePath = filePath;

   if ( columns == undefined )
      this.columns = new Array;
   else
      this.columns = columns;

   if ( rows == undefined )
      this.rows = new Array;
   else
      this.rows = rows;

   if ( iterations == undefined )
   {
      this.iterations = new Array;
      this.iterations.push(1);
   }
   else
   {
      this.iterations = new Array;
      this.iterations.push(iterations);
   }

//console.writeln("Iter: " + this.iterations);
   /*
    * Writes column and row coordinates to this CSV file.
    */
   this.write = function()
   {
      function outputCSVSequence( file, items, title )
      {
        // file.outTextLn( format( "%s,%d", title, items.length ) );
         file.outTextLn( title + format( ",%d", items.length ) );
         if ( items.length > 0 )
         {
            for ( var i = 0; ; )
            {
               file.outText( format( "%d", items[i] ) );
               if ( ++i == items.length )
                  break;
               file.outText( ',' );
            }
            file.outTextLn( '' );
         }
      }

      var file = new File;
      file.createForWriting( this.filePath );
      outputCSVSequence( file, this.columns, "columns" );
      outputCSVSequence( file, this.rows, "rows" );
      outputCSVSequence( file, this.iterations, "iterations" );
      file.close();
   };

   /*
    * Reads column and row coordinates from this CSV file.
    */
   this.read = function()
   {
      function inputCSVSequence( lines, title )
      {
         var items = new Array
         for ( var i = 0; i < lines.length; ++i )
            if ( lines[i].indexOf( title ) == 0 )
            {
               var tokens = lines[i].split( ',' );
               console.writeln(tokens);
               if ( tokens.length > 0 )
               {
                  var n = parseInt( tokens[1] );
                  if ( n > 0 )
                  {
                     var tokens = lines[i+1].split( ',' );
                     if ( tokens.length >= n )
                        for ( var i = 0; i < n; ++i )
                           items.push( parseInt( tokens[i] ) );
                  }
               }
            }
         return items;
      }

      function getTextLines( buffer )
      {
         var lines = new Array;
         for ( var bol = 0; ; )
         {
            var eol = buffer.linearSearch( 0x0A, bol ); // LF
            if ( eol < 0 )
               eol = buffer.length;
            lines.push( buffer.utf8ToString( bol, eol-bol ).trim() );
            bol = eol + 1;
            if ( bol > buffer.upperBound )
               break;
         }
         return lines;
      }

      var file = new File;
      file.openForReading( this.filePath );
      var buffer = file.read( DataType_ByteArray, file.size );
      file.close();
      var lines = getTextLines( buffer );
      console.writeln(lines);
      this.columns = inputCSVSequence( lines, "columns" );
      this.rows = inputCSVSequence( lines, "rows" );
      this.iterations = inputCSVSequence( lines, "iterations" );
   };
}

regards

Mats

Pages: [1] 2 3 ... 6