A computer implemented method for transforming an image corresponding to an unstructured set of data in a standardized form to a structured set of data; the method comprising a processing phase comprising: by a neural network having pre-learned machine learning parameters: detecting data blocks in the image, the data blocks corresponding to respective visual patterns in the standardized form; and categorizing each detected data block to a respective known class, wherein the pre-learned machine learning parameters are for recognizing a plurality of visual patterns in the standardized form, wherein each of the plurality of visual patterns corresponds to a group of elements on the standardized form that can be visually distinguished from another group of elements corresponding to another of the plurality of visual patterns; based on a first categorized data block being categorized to a first particular known class: processing data in the first categorized data block by capturing data characters in the first categorized data block, wherein capturing data characters in the first categorized data block comprises optical recognition of characters comprised in the first categorized data block; based on a second categorized data block being categorized to a second particular known class: ignoring the second categorized data block without capturing data characters in the second categorized data block; and forming a structured set of data in a computer file using the recognized characters from the first categorized data block, the recognized characters from the first categorized data block being associated with a respective field of the structured set of data according to the class of the first categorized data block. by a neural network having pre-learned machine learning parameters: detecting data blocks in the image, the data blocks corresponding to respective visual patterns in the standardized form; and categorizing each detected data block to a respective known class, wherein the pre-learned machine learning parameters are for recognizing a plurality of visual patterns in the standardized form, wherein each of the plurality of visual patterns corresponds to a group of elements on the standardized form that can be visually distinguished from another group of elements corresponding to another of the plurality of visual patterns; detecting data blocks in the image, the data blocks corresponding to respective visual patterns in the standardized form; and categorizing each detected data block to a respective known class, wherein the pre-learned machine learning parameters are for recognizing a plurality of visual patterns in the standardized form, wherein each of the plurality of visual patterns corresponds to a group of elements on the standardized form that can be visually distinguished from another group of elements corresponding to another of the plurality of visual patterns; based on a first categorized data block being categorized to a first particular known class: processing data in the first categorized data block by capturing data characters in the first categorized data block, wherein capturing data characters in the first categorized data block comprises optical recognition of characters comprised in the first categorized data block; based on a second categorized data block being categorized to a second particular known class: ignoring the second categorized data block without capturing data characters in the second categorized data block; and forming a structured set of data in a computer file using the recognized characters from the first categorized data block, the recognized characters from the first categorized data block being associated with a respective field of the structured set of data according to the class of the first categorized data block.