use super::*;
use crate::error::{MLError, Result};
use scirs2_core::ndarray::*;
use scirs2_core::random::prelude::*;
use scirs2_core::{Complex32, Complex64};
use std::f64::consts::PI;
use super::types::QuantumNeRFConfig;
impl Default for QuantumNeRFConfig {
fn default() -> Self {
Self {
scene_bounds: SceneBounds {
min_bound: Array1::from_vec(vec![-1.0, -1.0, -1.0]),
max_bound: Array1::from_vec(vec![1.0, 1.0, 1.0]),
voxel_resolution: Array1::from_vec(vec![4, 4, 4]),
},
num_qubits: 8,
quantum_encoding_levels: 10,
max_ray_samples: 128,
quantum_sampling_strategy: QuantumSamplingStrategy::QuantumHierarchical {
coarse_samples: 64,
fine_samples: 128,
quantum_importance_threshold: 0.01,
},
quantum_enhancement_level: 0.5,
use_quantum_positional_encoding: true,
quantum_attention_config: QuantumAttentionConfig {
use_spatial_attention: true,
use_view_attention: true,
use_scale_attention: true,
num_attention_heads: 4,
attention_type: QuantumAttentionType::QuantumMultiHeadAttention,
entanglement_in_attention: true,
quantum_query_key_value: true,
},
volumetric_rendering_config: VolumetricRenderingConfig {
use_quantum_alpha_compositing: true,
quantum_density_activation: QuantumActivationType::QuantumSoftplus,
quantum_color_space: QuantumColorSpace::RGB,
quantum_illumination_model: QuantumIlluminationModel::QuantumPhotonMapping,
quantum_material_properties: true,
quantum_light_transport: true,
},
quantum_multiscale_features: true,
entanglement_based_interpolation: true,
quantum_view_synthesis: true,
decoherence_mitigation: DecoherenceMitigationConfig {
enable_error_correction: true,
coherence_preservation_weight: 0.1,
decoherence_compensation_factor: 1.1,
quantum_error_rate_threshold: 0.01,
},
}
}
}