I have used several programs either as stand-alone or in concert with others. I have settled on Illustrator, although I am not completely thrilled with their new (non) support mechanism,. You can take a photo of your pattern or image, then "place" that image into an open file. Use the guides to size it to what you want, then mask unwanted areas and change the remainder to grayscale to preserve colored ink. If you really want to get involved, you can add a layer and trace over the desired image, then remove the base layer. OR, after sizing, you can trace your image by hand and scan it back into the computer for resizing as desired. The real question is whether you want to work for the computer or have it work for you. So many options and variations.