{"action":"created","issue":{"url":"https://api.github.com/repos/SiLab-Bonn/pixel_clusterizer/issues/3","repository_url":"https://api.github.com/repos/SiLab-Bonn/pixel_clusterizer","labels_url":"https://api.github.com/repos/SiLab-Bonn/pixel_clusterizer/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/SiLab-Bonn/pixel_clusterizer/issues/3/comments","events_url":"https://api.github.com/repos/SiLab-Bonn/pixel_clusterizer/issues/3/events","html_url":"https://github.com/SiLab-Bonn/pixel_clusterizer/pull/3","id":190346852,"number":3,"title":"Pixel masking and other features","user":{"login":"laborleben","id":8696773,"avatar_url":"https://avatars.githubusercontent.com/u/8696773?v=3","gravatar_id":"","url":"https://api.github.com/users/laborleben","html_url":"https://github.com/laborleben","followers_url":"https://api.github.com/users/laborleben/followers","following_url":"https://api.github.com/users/laborleben/following{/other_user}","gists_url":"https://api.github.com/users/laborleben/gists{/gist_id}","starred_url":"https://api.github.com/users/laborleben/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/laborleben/subscriptions","organizations_url":"https://api.github.com/users/laborleben/orgs","repos_url":"https://api.github.com/users/laborleben/repos","events_url":"https://api.github.com/users/laborleben/events{/privacy}","received_events_url":"https://api.github.com/users/laborleben/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":36,"created_at":"2016-11-18T15:29:42Z","updated_at":"2017-01-04T14:48:03Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/SiLab-Bonn/pixel_clusterizer/pulls/3","html_url":"https://github.com/SiLab-Bonn/pixel_clusterizer/pull/3","diff_url":"https://github.com/SiLab-Bonn/pixel_clusterizer/pull/3.diff","patch_url":"https://github.com/SiLab-Bonn/pixel_clusterizer/pull/3.patch"},"body":"I changed the code but the main loop is still the same, though.\r\nThe following points were changed/added:\r\n1. `HitClusterizer` parameters can be set during creation.\r\n2. Changed default parameters to be more generic.\r\n3. Removed `HitClusterizer.create_cluster_hit_info_array()` since it does nothing.\r\n4. Added `min_hit_charge` parameter for correction factor during calculation of charge weighted hit center.\r\n5. Added `noisy_pixels` parameter to prevent cluster building (single hit) from noisy pixel.\r\n6. Added `disabled_pixels` parameter to ignore hits from given pixels completely.\r\n7. Reduced memory footprint a little.\r\n8. Simplified cluster loop and separate cluster building and event building from cluster loop.\r\n9. Added unit tests.\r\n\r\nThe performance decrease is ~5% but memory usage is less because the new code avoids the temporary arrays.\r\n\r\nThe new code is more flexible when certain changes are needed."},"comment":{"url":"https://api.github.com/repos/SiLab-Bonn/pixel_clusterizer/issues/comments/270387581","html_url":"https://github.com/SiLab-Bonn/pixel_clusterizer/pull/3#issuecomment-270387581","issue_url":"https://api.github.com/repos/SiLab-Bonn/pixel_clusterizer/issues/3","id":270387581,"user":{"login":"laborleben","id":8696773,"avatar_url":"https://avatars.githubusercontent.com/u/8696773?v=3","gravatar_id":"","url":"https://api.github.com/users/laborleben","html_url":"https://github.com/laborleben","followers_url":"https://api.github.com/users/laborleben/followers","following_url":"https://api.github.com/users/laborleben/following{/other_user}","gists_url":"https://api.github.com/users/laborleben/gists{/gist_id}","starred_url":"https://api.github.com/users/laborleben/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/laborleben/subscriptions","organizations_url":"https://api.github.com/users/laborleben/orgs","repos_url":"https://api.github.com/users/laborleben/repos","events_url":"https://api.github.com/users/laborleben/events{/privacy}","received_events_url":"https://api.github.com/users/laborleben/received_events","type":"User","site_admin":false},"created_at":"2017-01-04T14:48:03Z","updated_at":"2017-01-04T14:48:03Z","body":"All the changes are done, tests and examples fully working. The code needs a review.\r\n\r\nSome open questions:\r\n\r\n1. The pixel masking cannot be accelerated (matrix method) as long as the maximum/minimum value of the column and row index is unknown. Additional checks have to be implemented.\r\n2. The array are allocated outside the jitted functions (pure python). The result array size is dynamically adjusted and depends on the input hits array size. Additional code prevents the assignment of the arrays each time the `clusterizer.cluster_hits()` is called."}}
{"actor":{"display_login":"laborleben"}}