{"id":17017777,"url":"https://github.com/odrevet/multi-picture-object","last_synced_at":"2025-04-12T10:08:56.517Z","repository":{"id":76586538,"uuid":"96529378","full_name":"odrevet/Multi-Picture-Object","owner":"odrevet","description":"Generate a 3D picture (Multi Picture Object) from two jpeg ","archived":false,"fork":false,"pushed_at":"2024-03-16T06:06:11.000Z","size":40,"stargazers_count":8,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-12T10:08:45.976Z","etag":null,"topics":["3d-images","3ds","mpo","multi-picture"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/odrevet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2017-07-07T10:47:25.000Z","updated_at":"2024-08-05T06:31:08.000Z","dependencies_parsed_at":"2023-05-24T07:45:28.161Z","dependency_job_id":null,"html_url":"https://github.com/odrevet/Multi-Picture-Object","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odrevet%2FMulti-Picture-Object","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odrevet%2FMulti-Picture-Object/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odrevet%2FMulti-Picture-Object/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odrevet%2FMulti-Picture-Object/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/odrevet","download_url":"https://codeload.github.com/odrevet/Multi-Picture-Object/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248550635,"owners_count":21122933,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d-images","3ds","mpo","multi-picture"],"created_at":"2024-10-14T06:43:33.160Z","updated_at":"2025-04-12T10:08:56.490Z","avatar_url":"https://github.com/odrevet.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"generate a Multiple Picture Object files (.MPO) 3D picture from two jpeg files.\n\nThis software implement in PHP the CIPA's MPO official reference document\navailable at the following URL: http://www.cipa.jp/std/documents/download_e.html?DC-007_E\n\nNintendo 3DS Users can see the generated test 3D file here\non github by clicking the out.MPO file then \"View Raw\".\n\n# Code comment and annotations\n\nThe code is documented and annoted with the chapter and paragraph references to the CIPA manual.\n\nThe adresses where the data will be written in the file created with the sample left.jpg and right.jpg are annoted in the comments.\n(e.g @0x42). Theses values may be differant with another input files.\n\n# Usage\n\n## Command line\n\nThis PHP script can be used with a Command Line Interface by calling cli.php with the php binary : \n\n* Command line arguments:\n\n\u003cpre\u003e\n\t-l FILENAME : left jpg file (mandatory argument)\n\t-r FILENAME : right jpg file (mandatory argument)\n\t-o FILENAME : output MPO file name to produce (defaults to out.mpo)\n\u003c/pre\u003e\n\n* example :\n\n```\n php cli.php -l left.jpg -r right.jpg -o out.MPO\n```\n\n## Web server\nIt also can be used with a web server like this:\n\n Assuming the requets has a file_left and a file_right parameters from an HTML form with two file inputs.\n\n```PHP\n\u003c?php\nrequire($_SERVER['DOCUMENT_ROOT'].'mpo.php');\ntry {\n    $filename_left = $_FILES['file_left']['tmp_name'];\n    $filename_right = $_FILES['file_right']['tmp_name'];\n    $img_data_left = file_get_contents($filename_left);\n    $img_data_right = file_get_contents($filename_right);\n    $filename_out = 'images/tmp/'.uniqid().'.MPO';\n    to_mpo($img_data_left, $img_data_right, $filename_out);\n    echo '{\"response\" : \"ok\", \"outfile\" : \"'.$filename_out.'\"}';\n\n} catch (Exception $e) {\n    $res = sprintf('{\"response\" : \"error\", \"msg\" : \"%s\"}', e-\u003egetMessage());\n}\n?\u003e\n```\n\n## Docker\n\nhttps://hub.docker.com/_/php\n\n\n```\ndocker build -t mpo-cli .\ndocker run -v $(pwd):/usr/src/MPO --rm  mpo-cli\n```\n\n\n# Testing\n\nI used an hexadecimal editor (EMACS hexl-mode) to check the generated file if the data where correct\n\n# 3DS limitations\n\nThe 3DS can not read 3D pictures with a width superior at 700px.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fodrevet%2Fmulti-picture-object","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fodrevet%2Fmulti-picture-object","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fodrevet%2Fmulti-picture-object/lists"}