<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def fbp_op(ray_trafo, padding=True, filter_type='Ram-Lak', frequency_scaling=1.0):
 """Create filtered back-projection operator from a `RayTransform`. The filtered back-projection is an approximate inverse to the ray transform. Parameters ray_trafo : `RayTransform` The ray transform (forward operator) whose approximate inverse should be computed. Its geometry has to be any of the following `Parallel2dGeometry` : Exact reconstruction `Parallel3dAxisGeometry` : Exact reconstruction `FanBeamGeometry` : Approximate reconstruction, correct in limit of fan angle = 0. Only flat detectors are supported (det_curvature_radius is None). `ConeFlatGeometry`, pitch = 0 (circular) : Approximate reconstruction, correct in the limit of fan angle = 0 and cone angle = 0. `ConeFlatGeometry`, pitch > 0 (helical) : Very approximate unless a `tam_danielson_window` is used. Accurate with the window. Other geometries: Not supported padding : bool, optional If the data space should be zero padded. Without padding, the data may be corrupted due to the circular convolution used. Using padding makes the algorithm slower. filter_type : optional The type of filter to be used. The predefined options are, in approximate order from most noise senstive to least noise sensitive: ``'Ram-Lak'``, ``'Shepp-Logan'``, ``'Cosine'``, ``'Hamming'`` and ``'Hann'``. A callable can also be provided. It must take an array of values in [0, 1] and return the filter for these frequencies. frequency_scaling : float, optional Relative cutoff frequency for the filter. The normalized frequencies are rescaled so that they fit into the range [0, frequency_scaling]. Any frequency above ``frequency_scaling`` is set to zero. Returns ------- fbp_op : `Operator` Approximate inverse operator of ``ray_trafo``. See Also -------- tam_danielson_window : Windowing for helical data. parker_weighting : Windowing for overcomplete fan-beam data. """

    return ray_trafo.adjoint * fbp_filter_op(ray_trafo, padding, filter_type,
                                             frequency_scaling)