imagePosition.Set_y(imagePosition.Get_y() * ref_expansion.Get_y() / reduce - ((ref_expansion.Get_y() / reduce - 1) / 2));
Kdu_dims view_dims = new Kdu_dims();
view_dims.Assign(image_dims);
view_dims.Access_size().Set_x(imageSize.Get_x());
view_dims.Access_size().Set_y(imageSize.Get_y());
int region_buf_size = imageSize.Get_x() * imageSize.Get_y();
int[] region_buf = new int[region_buf_size];
Kdu_region_decompressor decompressor = new Kdu_region_decompressor();
decompressor.Start(codestream, channels, -1, params.getLevelReductionFactor(), 16384, image_dims,