How to perform an MNF transform using previous statistics programmatically
			
			
		
		
		
			
			
		
			This Help Article discusses how to apply a MNF (minimum noise fraction) forward transform to a dataset using previously calculated statistics programmatically. Currently, the documentation for MNF_DOIT does not discuss how you can use previous statistics to perform an MNF transform.
 
The following code sample can be used to perform a MNF transform to ENVI's sample dataset, "can_tmr.img" located in the \ENVIxx\data directory using previously calculated noise statistics. The noise statistics were calculated from a previous MNF transform on ENVI's sample dataset, "bhtmref.img".
-------------------------------------------------
pro example_mnf_w_previous_stats
compile_opt idl2
 
;open and query the data file to transform
  envi_open_file, 'can_tmr.img', r_fid=fid  
  if (fid eq -1) then begin  
    envi_batch_exit  
    return  
  endif  
  envi_file_query, fid, dims=dims, nb=nb  
  pos  = lindgen(nb)  
  out_name = 'test_can_mnf.img'  
;open the previously calculated noise statistics
sta_name = 'bh_noise.sta'
;get the eigenvalues and eigenvectors
;from the noise statistics file
envi_get_statistics, sta_name, eval=eval, evec=evec
;perform the MNF transform using the previously 
;calculated eval and evec
  envi_doit, 'mnf_doit', $  
    fid=fid, pos=pos, dims=dims, noise_evec=evec, noise_eval=eval, $  
    sd_dims=dims, out_name=out_name, $  
    in_memory=0, sta_name='', /no_plot, $  
    r_fid=r_fid  
end  
Review on 12/31/2013 MM