Ejemplo n.º 1
0
void BkgParamH5::IncrementalWriteRegions ( int flow, int iBlk )
{
  // write to any live region parameters
  // every parameter checks itself to see if writing is useful or safe
  IncrementalWriteParam ( empty_trace.source,empty_trace.h5_set,flow );
  IncrementalWriteParam ( empty_dc.source, empty_dc.h5_set, flow );

  IncrementalWriteParam ( region_debug_bead_amplitude_krate.source, region_debug_bead_amplitude_krate.h5_set, flow );
  IncrementalWriteParam ( region_debug_bead_predicted.source, region_debug_bead_predicted.h5_set, flow );
  IncrementalWriteParam ( region_debug_bead_corrected.source, region_debug_bead_corrected.h5_set, flow );
  IncrementalWriteParam ( region_debug_bead_xtalk.source, region_debug_bead_xtalk.h5_set, flow );

  WriteOneBlock ( regional_params.source, regional_params.h5_set,iBlk );
  WriteOneBlock ( nuc_shape_params.source, nuc_shape_params.h5_set,iBlk );
  WriteOneBlock ( enzymatics_params.source, enzymatics_params.h5_set,iBlk );
  WriteOneBlock ( buffering_params.source, buffering_params.h5_set,iBlk );
  WriteOneBlock ( derived_params.source, derived_params.h5_set,iBlk );

  emphasis_val.SafeWrite ( iBlk ); // do every compute block

  if ( iBlk==0 ) // do only once at first compute block
  {
    region_debug_bead_location.SafeWrite();
    region_debug_bead.SafeWrite();
    dark_matter_trace.SafeWrite();
    darkness_val.SafeWrite();
    region_init_val.SafeWrite();
    region_offset_val.SafeWrite();
    time_compression.SafeWrite();
  }
}
Ejemplo n.º 2
0
/*
 *  4:1:1
 */
void
Write4Blocks (int *store1, int *store2, int *store3, int *store4,
          int *p_out_vpos, int *p_out_hpos, unsigned char *p_out_buf,
          dvars *d)
{
  int voffs, hoffs;

  /*
   * OX
   * XX
   */
  voffs = *p_out_vpos * DCTSIZE;
  hoffs = *p_out_hpos * DCTSIZE;
  WriteOneBlock (store1, p_out_buf,
         d->p_jinfo_image_width, d->p_jinfo_image_height, voffs, hoffs);

  /*
   * XO
   * XX
   */
  hoffs += DCTSIZE;
  WriteOneBlock (store2, p_out_buf,
         d->p_jinfo_image_width, d->p_jinfo_image_height, voffs, hoffs);

  /*
   * XX
   * OX
   */
  voffs += DCTSIZE;
  hoffs -= DCTSIZE;
  WriteOneBlock (store3, p_out_buf,
         d->p_jinfo_image_width, d->p_jinfo_image_height, voffs, hoffs);


  /*
   * XX
   * XO
   */
  hoffs += DCTSIZE;
  WriteOneBlock (store4,
         p_out_buf, d->p_jinfo_image_width, d->p_jinfo_image_height,
		 voffs, hoffs);

  /*
   * Add positions
   */
  *p_out_hpos = *p_out_hpos + 2;
  *p_out_vpos = *p_out_vpos + 2;


  if (*p_out_hpos < d->p_jinfo_MCUWidth)
    {
      *p_out_vpos = *p_out_vpos - 2;
    }
  else
    {
      *p_out_hpos = 0;		/* If at end of image (width) */
    }
}
Ejemplo n.º 3
0
/*
 * WriteBlock() writes an array of data in the integer array pointed to
 * by store out to the driver specified by the IOB.  The integer array is
 * stored in row-major form, that is, the first row of (8) elements, the
 * second row of (8) elements....
 * ONLY for MCU 1:1:1
 */
void
WriteBlock(int *store, int *p_out_vpos, int *p_out_hpos, unsigned char *p_out_buf)
{
    int voffs,hoffs;

    /*
     * Get vertical offsets
     */
    voffs = *p_out_vpos * DCTSIZE;
    hoffs = *p_out_hpos * DCTSIZE;

    /*
     * Write block
     */
    WriteOneBlock(store,
                  p_out_buf,
                  p_jinfo_image_width,
                  p_jinfo_image_height,
                  voffs,
                  hoffs);
 
    /*
     *  Add positions
     */
    *p_out_hpos++;
    *p_out_vpos++;
    
    if (*p_out_hpos < p_jinfo_MCUWidth){
        *p_out_vpos--;
    }else{
        *p_out_hpos = 0; /* If at end of image (width) */
    }
}
Ejemplo n.º 4
0
void BkgParamH5::IncrementalWriteBeads ( int flow, int iBlk )
{
  // every parameter checks itself to see if writing is useful or safe
  // every time we write, we write these
  IncrementalWriteParam ( bead_dc.source,bead_dc.h5_set,flow );
  IncrementalWriteParam ( Amplitude.source,Amplitude.h5_set,flow );
  IncrementalWriteParam ( krate_multiplier.source,krate_multiplier.h5_set,flow );
  IncrementalWriteParam ( residual_error.source,residual_error.h5_set,flow );

  // do compute blocks
  WriteOneBlock ( average_error_flow_block.source, average_error_flow_block.h5_set,iBlk );
  WriteOneBlock ( bead_clonal_compute_block.source, bead_clonal_compute_block.h5_set,iBlk );
  WriteOneBlock ( bead_corrupt_compute_block.source, bead_corrupt_compute_block.h5_set,iBlk );

  if ( iBlk==0 ) // only do the first compute block
  {
    bead_base_parameter.SafeWrite();
  }
}