コード例 #1
0
ファイル: __init__.py プロジェクト: baishi/3dbar
    def _processTT(self, pagenumber):
        """
        @type  pagenumber: integer
        @param pagenumber: Number of page to parse
        @return: Complex dataset, please read function description.

        Extracts various information from 'Pretraced SVG' and 'Traced SVG'.
        Return complex dataset:

            1. 'Pretraced SVG' file DOM object
            2. Matrix for transforming from SVG coordinate system to
               stereotactic coordinate system
            3. Bregma coordinate
            4. Dataset with information about all text elements (labels).
        """
        # Extract filename corresponding to most advanced version of give slide
        pretracedFilename = self.fileSelector._getMostAdvancedFilename(pagenumber)
        svgdom = dom.parse(pretracedFilename)    # Parse input fie

        #XXX Aligning slides to reference coordinates in advance (not used)
        # due to lack of performance
        if self.aligner.makeAlignment(svgdom):
            svgfix.fixSvgImage(svgdom, fixHeader=False)# If there's a need to
            wasFixed = True                            # fix image (if alignment 
            print "FIXING"                             # was made - do it)
        else:
            wasFixed = False

        return svgdom, pretracedFilename, wasFixed
コード例 #2
0
ファイル: __init__.py プロジェクト: niksart/3dbar
    def _processTT(self, pagenumber):
        """
        @type  pagenumber: integer
        @param pagenumber: Number of page to parse
        @return: Complex dataset, please read function description.

        Extracts various information from 'Pretraced SVG' and 'Traced SVG'.
        Return complex dataset:

            1. 'Pretraced SVG' file DOM object
            2. Matrix for transforming from SVG coordinate system to
               stereotactic coordinate system
            3. Bregma coordinate
            4. Dataset with information about all text elements (labels).
        """
        # Extract filename corresponding to most advanced version of give slide
        pretracedFilename = self.fileSelector._getMostAdvancedFilename(
            pagenumber)
        svgdom = dom.parse(pretracedFilename)  # Parse input fie

        #XXX Aligning slides to reference coordinates in advance (not used)
        # due to lack of performance
        if self.aligner.makeAlignment(svgdom):
            svgfix.fixSvgImage(svgdom, fixHeader=False)  # If there's a need to
            wasFixed = True  # fix image (if alignment
            print "FIXING"  # was made - do it)
        else:
            wasFixed = False

        return svgdom, pretracedFilename, wasFixed
コード例 #3
0
ファイル: __init__.py プロジェクト: niksart/3dbar
    def _processFromRawSVG(self, pagenumber):
        """
        @type  pagenumber: integer
        @param pagenumber: Number of page to parse
        @return: Complex dataset, please read function description.

        Processes SVG files from 'Raw SVG' type to 'Pretraced SVG' status. Returns
        complex dataset:

            1. 'Pretraced SVG' file DOM object
            2. Matrix for transforming from SVG coordinate system to
               stereotactic coordinate system
            3. Bregma coordinate
            4. Dataset with information about all text elements (labels).
        Performs processing from rawSVG file status to pretraced status
        """

        # Select filename corresponding with given pagenumber
        filename = self.fileSelector._getMostAdvancedFilename(pagenumber)

        svgdom = dom.parse(filename)  # Parse input file
        svg = svgdom.getElementsByTagName('svg')[0]
        svg.setAttribute('xmlns:bar', "http://www.3dbar.org")

        svgfix.fixSvgImage(svgdom, pagenumber)  # Simplify input file structure
        (bregma, offsets) = fcoords.processFile(
            svgdom)  # Extracts bregma coordinate and
        #  scalings and offsets for
        #  converting to stereotaxic coordinates

        matcharrows.DoMatch(svgdom)  # Calculate labels coordinates
        matcharrows.symmetrizeLabels(
            svgdom, offsets)  # Make structures labels symmetric
        fcoords._indexElements(svgdom)  # Assign uniqe id to each SVG element

        if self.aligner.makeAlignment(svgdom):
            svgfix.fixSvgImage(svgdom, fixHeader=False)  # If there's a need to
            print "FIXING"  # was made - do it)
            # fix image (if alignment
            # was made - do it)
        return svgdom
コード例 #4
0
ファイル: __init__.py プロジェクト: baishi/3dbar
    def _processFromRawSVG(self, pagenumber):
        """
        @type  pagenumber: integer
        @param pagenumber: Number of page to parse
        @return: Complex dataset, please read function description.

        Processes SVG files from 'Raw SVG' type to 'Pretraced SVG' status. Returns
        complex dataset:

            1. 'Pretraced SVG' file DOM object
            2. Matrix for transforming from SVG coordinate system to
               stereotactic coordinate system
            3. Bregma coordinate
            4. Dataset with information about all text elements (labels).
        Performs processing from rawSVG file status to pretraced status
        """

        # Select filename corresponding with given pagenumber
        filename = self.fileSelector._getMostAdvancedFilename(pagenumber)

        svgdom = dom.parse(filename)                    # Parse input file
        svg = svgdom.getElementsByTagName('svg')[0]
        svg.setAttribute('xmlns:bar',"http://www.3dbar.org")
        
        svgfix.fixSvgImage(svgdom, pagenumber)          # Simplify input file structure
        (bregma, offsets) = fcoords.processFile(svgdom) # Extracts bregma coordinate and 
                                                        #  scalings and offsets for
                                                        #  converting to stereotaxic coordinates

        matcharrows.DoMatch(svgdom)                    # Calculate labels coordinates
        matcharrows.symmetrizeLabels(svgdom, offsets)  # Make structures labels symmetric 
        fcoords._indexElements(svgdom)                 # Assign uniqe id to each SVG element

        if self.aligner.makeAlignment(svgdom):
            svgfix.fixSvgImage(svgdom, fixHeader=False)# If there's a need to
            print "FIXING"                             # was made - do it)
                                                       # fix image (if alignment 
                                                       # was made - do it)
        return svgdom