PsyTask | API Docs
    Preparing search index...

    Variable GratingConst

    Grating: (
        props: {
            color?: RGB255 | [RGB255, RGB255];
            mask?: Mask;
            ori?: number;
            phase?: number;
            sf: number;
            size: number | [number, number];
            type: Wave | "sin" | "square" | "triangle" | "sawtooth";
        },
        ctx: Scene<any>,
    ) => HTMLCanvasElement = ...

    Grating

    Type Declaration

      • (
            props: {
                color?: RGB255 | [RGB255, RGB255];
                mask?: Mask;
                ori?: number;
                phase?: number;
                sf: number;
                size: number | [number, number];
                type: Wave | "sin" | "square" | "triangle" | "sawtooth";
            },
            ctx: Scene<any>,
        ): HTMLCanvasElement
      • Parameters

        • props: {
              color?: RGB255 | [RGB255, RGB255];
              mask?: Mask;
              ori?: number;
              phase?: number;
              sf: number;
              size: number | [number, number];
              type: Wave | "sin" | "square" | "triangle" | "sawtooth";
          }
          • Optionalcolor?: RGB255 | [RGB255, RGB255]

            Color or [color, color] (RGB255 values)

          • Optionalmask?: Mask

            Convert coordinates [-1, 1] to opacity [0, 1]

          • Optionalori?: number

            Orientation (in radians)

          • Optionalphase?: number

            Phase (in radians)

          • sf: number

            Spatial frequency (cycles per pixel)

          • size: number | [number, number]

            Width or [width, height] (in pixels)

          • type: Wave | "sin" | "square" | "triangle" | "sawtooth"

            Wave type or wave function that convert radians (-Inf, Inf) to amplitude [-1, 1]

        • ctx: Scene<any>

        Returns HTMLCanvasElement

    Draw basic gabor

    using grating = app.scene(Grating, {
    defaultProps: {
    type: 'sin',
    size: [200, 200],
    sf: 0.05,
    ori: Math.PI / 4,
    phase: 0,
    color: [255, 255, 255],
    mask: GaussianMask(0.3),
    },
    });