====== VMR::InhomogeneityCorrect - perform inhomogeneity correction ====== ===== Motivation ===== For an overview of the topic, please refer to the [[pmbfilter]] page (this function is used as part of this method). ===== Method reference ('vmr.Help('InhomogeneityCorrect')') ===== VMR::InhomogeneityCorrect - attempt automatic inhomogeneity correction FORMAT: [vmr = ] vmr.InhomogeneityCorrect([opts]) Input fields: opts optional struct with settings .mask either 3D uint8/logical data or VMR object with preseg if omitted, try automatic mask detection .model either of 'log', {'mult'} .numpasses number of passes, default 3 (valid: 1 through 5) .order polynomial order, default 3 (valid: 2 through 7) Note: this function uses pmbfilter. ===== Options ===== The ''.mask'', ''.model'', and ''.order'' options are passed through to [[pmbfilter]]. The ''.numpasses'' option refers to how many times pmbfilter is called. On the last iteration, the call uses the ''.cmask'' and ''.robust'' options of pmbfilter (set to true) for an improved final fit. ===== Usage notes ===== If the VMR object contains valid 16-bit data (V16 file), the filtering will be applying to this data instead, followed by a call to [[vmr.LimitVMR|VMR::LimitVMR]] with option ''.recalc8b'' set to ''true''.