# tf.signal.idct

Computes the 1D Inverse Discrete Cosine Transform (DCT) of `input`.

Currently Types I, II, III, IV are supported. Type III is the inverse of Type II, and vice versa.

Note that you must re-normalize by 1/(2n) to obtain an inverse if `norm` is not `'ortho'`. That is: `signal == idct(dct(signal)) * 0.5 / signal.shape[-1]`. When `norm='ortho'`, we have: `signal == idct(dct(signal, norm='ortho'), norm='ortho')`.

`input` A `[..., samples]` `float32`/`float64` `Tensor` containing the signals to take the DCT of.
`type` The IDCT type to perform. Must be 1, 2, 3 or 4.
`n` For future expansion. The length of the transform. Must be `None`.
`axis` For future expansion. The axis to compute the DCT along. Must be `-1`.
`norm` The normalization to apply. `None` for no normalization or `'ortho'` for orthonormal normalization.
`name` An optional name for the operation.

A `[..., samples]` `float32`/`float64` `Tensor` containing the IDCT of `input`.

`ValueError` If `type` is not `1`, `2` or `3`, `n` is not `None,`axis```is not```-1`, or`norm`is not`None`or`'ortho'`.

## scipy compatibility

Equivalent to scipy.fftpack.idct for Type-I, Type-II, Type-III and Type-IV DCT.

[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Missing the information I need" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Too complicated / too many steps" },{ "type": "thumb-down", "id": "outOfDate", "label":"Out of date" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples / code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }]
[{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }]