1. 07 Oct, 2020 1 commit
    • Tejan Karmali's avatar
      Added GaussianBlur transform (#2658) · 4106dbb8
      Tejan Karmali authored
      
      
      * Added GaussianBlur transform
      
      * fixed linting
      
      * supports fixed radius for kernel
      
      * [WIP] New API for gaussian_blur
      
      * Gaussian blur with kernelsize and sigma API
      
      * Fixed implementation and updated tests
      
      * Added large input case and refactored gt into a file
      
      * Updated docs
      
      * fix kernel dimesnions order while creating kernel
      
      * added tests for exception handling of gaussian blur
      
      * fix linting, bug in tests
      
      * Fixed failing tests, refactored code and other minor fixes
      Co-authored-by: default avatarvfdev-5 <vfdev.5@gmail.com>
      4106dbb8
  2. 05 Oct, 2020 2 commits
    • vfdev's avatar
      Added CPU/CUDA and batch input for dtype conversion op (#2755) · fdca3073
      vfdev authored
      
      
      * make convert_image_dtype scriptable
      
      * move convert dtype to functional_tensor since only works on tensors
      
      * retain availability of convert_image_dtype in functional.py
      
      * Update code and tests
      
      * Replaced int by torch.dtype
      
      * int -> torch.dtype and use F instead of F_t
      
      * Update functional_tensor.py
      
      * Added CPU/CUDA+batch tests
      
      * Fixed tests according to review
      Co-authored-by: default avatarBrian <nairbv@yahoo.com>
      fdca3073
    • Brian Vaughan's avatar
      make convert_image_dtype scriptable (#2485) · c542137c
      Brian Vaughan authored
      
      
      * make convert_image_dtype scriptable
      
      * move convert dtype to functional_tensor since only works on tensors
      
      * retain availability of convert_image_dtype in functional.py
      
      * Update code and tests
      
      * Replaced int by torch.dtype
      
      * int -> torch.dtype and use F instead of F_t
      
      * Update functional_tensor.py
      Co-authored-by: default avatarvfdev-5 <vfdev.5@gmail.com>
      c542137c
  3. 03 Oct, 2020 1 commit
  4. 30 Sep, 2020 1 commit
    • vfdev's avatar
      Fixes #2702 (#2721) · b618923c
      vfdev authored
      - Updated code and tests to support batch of tensors, e.g. input of shape (B, C, H, W).
      b618923c
  5. 05 Aug, 2020 1 commit
    • vfdev's avatar
      Unified inputs for `F.rotate` (#2495) · 76662528
      vfdev authored
      * Added code for F_t.rotate with test
      - updated F.affine tests
      
      * Rotate test tolerance to 2%
      
      * Fixes failing test
      
      * Optimized _expanded_affine_grid with a single matmul op
      
      * Recoded _compute_output_size
      76662528
  6. 30 Jul, 2020 1 commit
  7. 17 Jul, 2020 1 commit
  8. 16 Jul, 2020 1 commit
    • vfdev's avatar
      Unified input for F.affine (#2444) · 5f4b5794
      vfdev authored
      * [WIP] F.affine
      
      * [WIP] F.affine + tests
      
      * Unified input for F.affine
      
      * Removed commented code
      
      * Removed unused imports
      5f4b5794
  9. 15 Jul, 2020 1 commit
  10. 03 Jul, 2020 1 commit
  11. 11 Jun, 2020 1 commit
    • Philip Meier's avatar
      Add convert_image_dtype to functionals (#2078) · c2e8a008
      Philip Meier authored
      
      
      * add convert_image_dtype to functionals
      
      * add ConvertImageDtype transform
      
      * add test
      
      * remove underscores from numbers since they are not compatible with python<3.6
      
      * address review comments 1/3
      
      * fix torch.bool
      
      * use torch.iinfo in test
      
      * fix flake8
      
      * remove double conversion
      
      * fix flake9
      
      * bug fix
      
      * add error messages to test
      
      * disable torch.float16 and torch.half for now
      
      * add docstring
      
      * add test for consistency
      
      * move nested function to top
      
      * test in CI
      
      * dirty progress
      
      * add int to int and cleanup
      
      * lint
      Co-authored-by: default avatarPhilip Meier <meier.philip@posteo.de>
      c2e8a008
  12. 04 Jun, 2020 1 commit
  13. 18 May, 2020 1 commit
    • Steven Basart's avatar
      Add pil_to_tensor to functionals (#2092) · e6d3f8c5
      Steven Basart authored
      * Adds as_tensor to functional.py
      
      Similar functionality to to_tensor without the default conversion to float and division by 255.
      Also adds support for Image mode 'L'.
      
      * Adds tests to AsTensor()
      
      Adds tests to AsTensor and removes the conversion to float and division by 255.
      
      * Adds AsTensor to transforms.py
      
      Calls the as_tensor function in functionals and adds the function AsTensor as callable from transforms.
      
      * Removes the pic.mode == 'L'
      
      This was handled by the else condition previously so I'll remove it.
      
      * Fix Lint issue
      
      Adds two line breaks between functions to fix lint issue
      
      * Replace from_numpy with as_tensor
      
      Removes the extra if conditionals and replaces from_numpy with as_tensor.
      
      * Renames as_tensor to pil_to_tensor
      
      Renames the function as_tensor to pil_to_tensor and narrows the scope of the function.  At the same time also creates a flag that defaults to True for swapping to the channels first format.
      
      * Renames AsTensor to PILToImage
      
      Renames the function AsTensor to PILToImage and modifies the description.  Adds the swap_to_channelsfirst boolean variable to indicate if the user wishes to change the shape of the input.
      
      * Add the __init__ function to PILToTensor 
      
      Add the __init__ function to PILToTensor since it contains the swap_to_channelsfirst parameter now.
      
      * fix lint issue
      
      remove trailing white space
      
      * Fix the tests
      
      Reflects the name change to PILToTensor and the parameter to the function as well as the new narrowed scope that the function only accepts PIL images.
      
      * fix tests
      
      Instead of undoing the transpose just create a new tensor and test that one.
      
      * Add the view back
      
      Add img.view(pic.size[1], pic.size[0], len(pic.getbands())) back to outside the if condition.
      
      * fix test
      
      fix conversion from torch tensor to PIL back to torch tensor.
      
      * fix lint issues
      
      * fix lint
      
      remove trailing white space
      
      * Fixed the channel swapping tensor test
      
      Torch tranpose operates differently than numpy transpose.  Changed operation to permute.
      
      * Add mode='F'
      
      Add mode information when converting to PIL Image from Float Tensor.
      
      * Added inline comments to follow shape changes
      
      * ToPILImage converts FloatTensors to uint8
      
      * Remove testing not swapping
      
      * Removes the swap_channelsfirst parameter
      
      Makes the channel swapping the default behavior.
      
      * Remove the swap_channelsfirst argument
      
      Remove the swap_channelsfirst argument and makes the swapping the default functionality.
      e6d3f8c5
  14. 14 Apr, 2020 1 commit
  15. 03 Apr, 2020 1 commit
  16. 31 Mar, 2020 1 commit
  17. 23 Mar, 2020 2 commits
  18. 29 Jan, 2020 1 commit
  19. 22 Jan, 2020 1 commit
    • Philip Meier's avatar
      Fix fill in rotate (#1760) · 8f4f8d89
      Philip Meier authored
      * initial fix
      
      * outsourced num bands lookup
      
      * fix doc
      
      * added pillow version requirement
      
      * simplify number of bands extraction
      
      * remove unrelated change
      
      * remove indirect dependency on pillow>=5.2.0
      
      * extend docstring to transform
      
      * bug fix
      
      * added test
      8f4f8d89
  20. 10 Jan, 2020 1 commit
  21. 29 Oct, 2019 1 commit
    • pedrofreire's avatar
      Make shear operation area preserving (#1529) · c226bb95
      pedrofreire authored
      * Improve readability of affine transformation code
      
      * Make shear transformation area preserving
      
      The previous shear implementation did not preserve area, and we
      implement a version that does.
      
      The formula used was verified with the following sympy code:
      
      from sympy import Matrix, cos, sin, tan, simplify
      from sympy.abc import x, y, phi
      
      Xs = Matrix(
              [[1, -tan(x)],
               [0, 1]]
              )
      
      Ys = Matrix(
              [[1, 0],
               [-tan(y), 1]]
              )
      
      R = Matrix(
              [[cos(phi), -sin(phi)],
               [sin(phi), cos(phi)]]
              )
      
      RSS = Matrix(
              [[cos(phi - y)/cos(y), -cos(phi - y)*tan(x)/cos(y) - sin(phi)],
               [sin(phi - y)/cos(y), -sin(phi - y)*tan(x)/cos(y) + cos(phi)]])
      
      print(simplify(R * Ys * Xs - RSS))
      
      One thing that is not clear (and could be tested) is whether avoiding
      the explicit products and calculations in _get_inverse_affine_matrix
      really gives performance benefits - compared to doing the explicit
      calculation done in _test_transformation.
      
      * Use np.matmul instead of @
      
      The @ syntax is not supported in Python 2.
      c226bb95
  22. 18 Oct, 2019 1 commit
  23. 30 Aug, 2019 1 commit
  24. 09 Jul, 2019 1 commit
  25. 06 Jul, 2019 1 commit
    • Zhun Zhong's avatar
      Fix bug to RandomErasing (#1095) · 34833427
      Zhun Zhong authored
      * Fix bug to Random Erasing
      
      1. Avoid forever loop for getting parameters of erase.
      2. replace' img_b' by 'img_c', because it indicates the channel.
      3. replace v = torch.rand([img_c, h, w]) by v = torch.empty([img_c, h, w], dtype=torch.float32).normal_(). Normally distributed achieves better performance.
      
      * add test
      
      * Update test_transforms.py
      
      * Update transforms.py
      
      * Update test_transforms.py
      
      * Update transforms.py
      
      * Update functional.py
      34833427
  26. 03 Jul, 2019 1 commit
  27. 28 Jun, 2019 2 commits
  28. 24 Jun, 2019 1 commit
    • Zhun Zhong's avatar
      transforms: add Random Erasing for image augmentation (#909) · 3254560b
      Zhun Zhong authored
      * add erase function
      
      * add Random Erasing
      
      * Update transforms.py
      
      * Update transforms.py
      
      * add test for random erasing
      
      * Update test_transforms.py
      
      * fix flake8
      
      * Update test_transforms.py
      
      * Update functional.py
      
      * Update test_transforms.py
      
      * fix bug for per-pixel erasing
      
      * Update transforms.py
      
      * specific for coordinate (x, y)
      
      * add raise TypeError for img
      
      * Update transforms.py
      
      * Update transforms.rst
      3254560b
  29. 20 Jun, 2019 2 commits
  30. 14 Jun, 2019 2 commits
  31. 13 Jun, 2019 1 commit
    • Francisco Massa's avatar
      Minor test refactorings (#1011) · e402d43f
      Francisco Massa authored
      * Make tests work on fbcode
      
      * Lint
      
      * Fix rebase error
      
      * Properly use get_file_path_2
      
      * Fix wrong use of get_file_path_2 again
      
      * Missing import
      e402d43f
  32. 22 May, 2019 1 commit
  33. 25 Apr, 2019 1 commit
  34. 09 Apr, 2019 1 commit
  35. 25 Mar, 2019 1 commit