def METHOD_NAME(in_wrapper):
    print('print_parameters')
    in_wrapper.on_post_processing_delegate.remove_callable(METHOD_NAME)
    # Print the ramp points directly
    print('heightramp: num points {0}:'.format(in_wrapper.get_ramp_parameter_num_points('heightramp')))
    heightramp_data = in_wrapper.get_float_ramp_parameter_points('heightramp')
    if not heightramp_data:
        print('\tNone')
    else:
        for idx, point_data in enumerate(heightramp_data):
            print('\t\t{0}: position={1:.6f}; value={2:.6f}; interpoloation={3}'.format(
                idx,
                point_data.position,
                point_data.value,
                point_data.interpolation
            ))
    print('colorramp: num points {0}:'.format(in_wrapper.get_ramp_parameter_num_points('colorramp')))
    colorramp_data = in_wrapper.get_color_ramp_parameter_points('colorramp')
    if not colorramp_data:
        print('\tNone')
    else:
        for idx, point_data in enumerate(colorramp_data):
            print('\t\t{0}: position={1:.6f}; value={2}; interpoloation={3}'.format(
                idx,
                point_data.position,
                point_data.value,
                point_data.interpolation
            ))
    # Print all parameter values
    param_tuples = in_wrapper.get_parameter_tuples()
    print('parameter tuples: {}'.format(len(param_tuples) if param_tuples else 0))
    if param_tuples:
        for param_tuple_name, param_tuple in param_tuples.items():
            print('parameter tuple name: {}'.format(param_tuple_name))
            print('\tbool_values: {}'.format(param_tuple.bool_values))
            print('\tfloat_values: {}'.format(param_tuple.float_values))
            print('\tint32_values: {}'.format(param_tuple.int32_values))
            print('\tstring_values: {}'.format(param_tuple.string_values))
            if not param_tuple.float_ramp_points:
                print('\tfloat_ramp_points: None')
            else:
                print('\tfloat_ramp_points:')
                for idx, point_data in enumerate(param_tuple.float_ramp_points):
                    print('\t\t{0}: position={1:.6f}; value={2:.6f}; interpoloation={3}'.format(
                        idx,
                        point_data.position,
                        point_data.value,
                        point_data.interpolation
                    ))
            if not param_tuple.color_ramp_points:
                print('\tcolor_ramp_points: None')
            else:
                print('\tcolor_ramp_points:')
                for idx, point_data in enumerate(param_tuple.color_ramp_points):
                    print('\t\t{0}: position={1:.6f}; value={2}; interpoloation={3}'.format(
                        idx,
                        point_data.position,
                        point_data.value,
                        point_data.interpolation
                    ))