Scilab Function
Last update : 23/8/2006

ideal_dm_transform - transforms a wavefront by an ideal deformable mirror.

Calling Sequence

[dwf_out]=ideal_dm_transform(dwf_in,dm)

Parameters

Description

transforms a wavefront by an ideal deformable mirror. To perform the transformation on a wavefront, this function uses the actuator velocities to interpolate to the timestamp of the wavefront. The transformation is effected by applying the moving the actuator positions and substracting it from the wavefront phase. Supplying a wavefront with a timestamp that precedes the internal one is an error.

Examples

	number=128;wavelength=1e-6;pixscl=0.1;

	tp=three_point(0,0,0);tf=three_frame();
	tv_reflect=three_vector(0,0,1);
	tf=three_reflection(tf,tp,tv_reflect);
	dwfh=wavefront_header(wavelength,pixscl,number,number,tf);
	dwfh=set_dwfh_timestamp(dwfh,1);
	emt=emitter(0,0,0,1);dwf=pl_wave(dwfh,emt);
	
	ap=circle(12);
	act_dim=16;act_pitch=1;act_vel=1e-4;
	act=actuator_array(act_dim,act_dim,act_pitch,act_vel);
	dm=ideal_dm(ap,act);

	sgn=-1;actuator_command_meters=0.5e-6;
	command=[];
	for i=1:act_dim
		sgn=-1*sgn;
		for j=1:act_dim
			sgn=-1*sgn;
			command=[command,sgn*actuator_command_meters];
		end
	end  
	dm_command=pixel_array(act_dim);
	dm_command=set_pix_arr_data(dm_command,command);
	dm=dm_update(dm,dm_command,0.01);
	
	dwf=ideal_dm_transform(dwf,dm);
	field_plot(dwf);
 

Author

Chen jingyuan, Gan guangyong (IAPCM, Beijing,China.)

See Also

ideal_dm ,   dm_update ,   set_dm_timestamp ,   df_mirror ,