OpenFlexure Microscope OpenSCAD docs
libs/rms_calculations.scad
function objective_shoulder_z(params, optics_config)
[Source]
function objective_shoulder_z(params, optics_config) = let( sample_z = key_lookup("sample_z", params), objective_parfocal_distance = key_lookup("objective_parfocal_distance", optics_config) ) sample_z - objective_parfocal_distance;
function tube_lens_z(params, optics_config)
[Source]
function tube_lens_z(params, optics_config) = let( lens_objective_distance = key_lookup("lens_objective_distance", optics_config) ) objective_shoulder_z(params, optics_config) - lens_objective_distance;
function tube_lens_face_z(params, optics_config)
[Source]
function tube_lens_face_z(params, optics_config) = let( //Front focal distance (from flat side to focus) - measure this, or take it from the lens spec. sheet tube_lens_ffd = key_lookup("tube_lens_ffd", optics_config), //The nominal focal length of the tube lens. tube_lens_f = key_lookup("tube_lens_f", optics_config) ) tube_lens_z(params, optics_config) - (tube_lens_f - tube_lens_ffd);
function lens_pip_distace(optics_config)
[Source]
function lens_pip_distace(optics_config) = let( mech_tube_length = key_lookup("objective_mechanical_tube_length", optics_config), lens_obj_dist = key_lookup("lens_objective_distance", optics_config) ) mech_tube_length - lens_obj_dist - 10;
function lens_sensor_distance_finite_conj(optics_config)
[Source]
function lens_sensor_distance_finite_conj(optics_config) = let( f = key_lookup("tube_lens_f", optics_config), p = lens_pip_distace(optics_config) ) f*p/(p+f);
function lens_sensor_distance_infinite_conj(optics_config)
[Source]
function lens_sensor_distance_infinite_conj(optics_config) = key_lookup("tube_lens_f", optics_config);
function lens_sensor_distance(optics_config)
[Source]
function lens_sensor_distance(optics_config) = key_lookup("is_finite_conjugate", optics_config) ? lens_sensor_distance_finite_conj(optics_config): lens_sensor_distance_infinite_conj(optics_config);
function rms_camera_sensor_z(params, optics_config)
[Source]
function rms_camera_sensor_z(params, optics_config) = tube_lens_z(params, optics_config) - lens_sensor_distance(optics_config);
function rms_camera_mount_top_z(params, optics_config)
[Source]
function rms_camera_mount_top_z(params, optics_config) = let( mount_height = camera_mount_height(optics_config), sensor_height_above_pcb = camera_sensor_height(optics_config), sensor_z = rms_camera_sensor_z(params, optics_config) ) sensor_z - sensor_height_above_pcb + mount_height;