VIPS (software)
ভিআইপিএস একটি ওপেন সোর্স ইমেজ প্রসেসিং সফ্টওয়্যার প্যাকেজ। এটি বিশেষ করে বড় ছবির ক্ষেত্রে ভালো, মাল্টি-কোর প্রসেসরের ক্ষেত্রে কাজ করে, রঙ, বৈজ্ঞানিক বিশ্লেষণ এবং সাধারণ গবেষণা ও উন্নয়নের ক্ষেত্রে কাজ করে। এটি বিকশিত হয়েছিল এবং এটি বেশ কয়েকটি ইউরোপীয় গবেষণা প্রকল্পের (ভাসারি, মার্ক, অ্যাকোহির, ভিজিয়াম) পণ্য যা প্রাথমিকভাবে ইমেজিং শিল্প সম্পর্কে ছিল, তবে যা চিত্র প্রক্রিয়াকরণের জন্য একটি নতুন পদ্ধতির দাবি করেছিল। বেশিরভাগ ইমেজ প্রসেসিং লাইব্রেরির তুলনায় ভিআইপিএস-এর সামান্য র্যামের প্রয়োজন হয় এবং দ্রুত চলে, বিশেষ করে একাধিক সিপিইউ সহ মেশিনে। এটি মূলত এর স্থাপত্যের কারণে যা স্বয়ংক্রিয়ভাবে চিত্রের কর্মপ্রবাহকে সমান্তরাল করে। সফ্টওয়্যারটির দুটি প্রধান অংশ রয়েছেঃ libvips হল ইমেজ-প্রসেসিং লাইব্রেরি এবং nip2 হল গ্রাফিকাল ইউজার-ইন্টারফেস। জিইউআই-এর লক্ষ্য ফটোশপ এবং এক্সেলের মধ্যে প্রায় অর্ধেক পথ হওয়া। এটি ফটোগ্রাফ পুনরায় স্পর্শ করার মতো কাজের জন্য ডিজাইন করা হয়নি, তবে ফটোশপের মতো প্রোগ্রামগুলি যে অন্যান্য অনেক ইমেজিং কাজের জন্য ব্যবহার করা হয় তার জন্য আরও কার্যকর। উভয়ই লিনাক্স, ইউনিক্স, উইন্ডোজ এবং অ্যাপল ম্যাকোস (10.2 এবং পরবর্তী)-এ কাজ করে। ভিআইপিএস হল ডেবিয়ান, ফেডোরা, মিন্ট এবং উবুন্টু সহ অনেক লিনাক্স ডিস্ট্রিবিউশনের জন্য একটি আদর্শ প্যাকেজ। সফ্টওয়্যার ডিজাইন বেশিরভাগ libVIPS সি-তে লেখা হয়, পাইথন, রুবি এবং অন্যান্য বেশ কয়েকটি ভাষার জন্য বাইন্ডিং উপলব্ধ। ভিআইপিএস ছবিগুলিকে ছোট অংশে (আয়তক্ষেত্র বা রেখার গোষ্ঠী) প্রক্রিয়া করে এবং ক্রিয়াকলাপের গোষ্ঠীগুলি স্বয়ংক্রিয়ভাবে পৃথক থ্রেড দ্বারা চালিত হয়। এটি প্রক্রিয়াকরণকে সমান্তরাল করে তোলে কারণ আধুনিক ব্যবস্থাগুলি বিভিন্ন কোরের উপর থ্রেডগুলি চালায়। এর অর্থ হল যে চিত্র মধ্যস্থতাকারীগুলি ছোট এবং সহজেই র্যাম-এ সংরক্ষণ করা যেতে পারে। এভাবেই বহু জিবি আকারের ছবিগুলি মেশিনে দক্ষতার সাথে প্রক্রিয়া করা যেতে পারে। এটি মানগুলির জন্য ক্ষুদ্রতম স্টোরেজ প্রকারও ব্যবহার করে, তাই একটি সাধারণ আরজিবি চিত্র তিনটি এক বাইট মান ব্যবহার করবে তবে গাণিতিক ক্রিয়াকলাপের পরে এই স্কেলগুলি 16 এবং 32 বিট মানের ত্রুটি এড়াতে পারে। চাহিদা-চালিত নকশার অর্থ হল, যা প্রয়োজন তা গণনা করার জন্য যদি ইনপুট চিত্রের একটি নির্দিষ্ট অংশের প্রয়োজন হয়, তবে শুধুমাত্র প্রয়োজনীয় অংশগুলি গণনা করা হয়। অনেক স্থাপত্য উপাদান রয়েছে যা ভিআইপিএসকে তার গতি দেয় যার মধ্যে রয়েছে লকের অভাব এবং ইনপুট এবং আউটপুটকে ওভারল্যাপ করার ক্ষমতা। বেশিরভাগ ছবি প্রতি পিক্সেলে তিন বাইট (আরজিবি) দিয়ে শুরু হয় কিন্তু প্রক্রিয়াকরণের সময় ভিআইপিএস ক্লিপিং/বৃত্তাকার ত্রুটি এড়াতে প্রয়োজন হলে উপাদানগুলিকে 16,32 বা 64 বিটে উন্নীত করবে। এটি গতি এবং কম র্যাম ব্যবহারেও অবদান রাখে। এর চাহিদা-চালিত নকশার অর্থ হল, উদাহরণস্বরূপ, একটি খুব বড় মধ্যবর্তী চিত্র সম্পূর্ণরূপে গণনা করা যাবে না যদি আউটপুট লক্ষ্যমাত্রার জন্য এর একটি ছোট অংশের প্রয়োজন হয়। ইতিহাস ভাসারি একটি ইইউ-অর্থায়িত গবেষণা প্রকল্প ছিল যা পুরানো মাস্টার পেইন্টিংয়ে দীর্ঘমেয়াদী রঙ পরিবর্তন পরিমাপ করতে সক্ষম একটি সিস্টেম তৈরি করতে। পূর্ববর্তী পদ্ধতিগুলি অবনতির সম্ভাবনা রয়েছে বলে মনে করা অঞ্চলগুলির পয়েন্ট পরিমাপের একটি সিরিজ তৈরি করেছিল-অবশ্যই এর অর্থ ছিল যে চিত্রকর্মের যে অংশগুলি পরিমাপ করা হয়নি সেগুলির পরিবর্তনগুলি বাদ দেওয়া হবে। ভাসারি ইমেজিংয়ের মাধ্যমে এটি ঠিক করার লক্ষ্য নিয়েছিলঃ এটি রঙ পরিমাপ করতে এবং কেবল পুরো চিত্রকর্মটি রেকর্ড করতে একটি ক্যামেরা ব্যবহার করবে। জার্মানি, ফ্রান্স, ইতালি এবং ব্রিটেনে এই প্রকল্পের অংশীদার ছিল। বার্কবেক কলেজের কার্ক মার্টিনেজ এবং ন্যাশনাল গ্যালারি লন্ডনের ডেভিড সন্ডার্স লন্ডন স্ক্যানার নির্মাণের জন্য দায়ী ছিলেন। কার্ক নিকোস ডেসিপ্রিসকে নিয়োগ করেছিলেন, যিনি এসেক্স বিশ্ববিদ্যালয়ের ইমেজ প্রসেসিং গ্রুপের সহকর্মী গবেষক ছাত্র ছিলেন এবং ডেভিড জন কাপিটকে নিয়োগ করেছিলেন, যিনি সবেমাত্র কেন্ট বিশ্ববিদ্যালয়ে তাত্ত্বিক কম্পিউটার বিজ্ঞানে পিএইচডি শেষ করেছিলেন। প্রকল্পটি প্রতি মিলিমিটারে প্রায় 20 পিক্সেল রেজোলিউশন সহ প্রায় 1 মিটার বাই 1 মিটার পর্যন্ত চিত্র আঁকতে চেয়েছিল, যেহেতু একটি চিত্রকলার ক্ষুদ্রতম আকর্ষণীয় বৈশিষ্ট্যগুলি প্রায় 0.1mm। একাধিক রঙের ব্যান্ড প্রয়োজন ছিল (7টির উপর সিদ্ধান্ত নেওয়া হয়েছিল), কারণ এর লক্ষ্য ছিল শুধুমাত্র রঙের পরিবর্তে প্রতিফলন বর্ণালী পরিমাপ করা। চূড়ান্ত প্রয়োজনীয়তা ছিল 16 বিট ডেটার জন্য। এই প্রয়োজনীয়তাগুলি একসাথে রাখুন এবং আপনি প্রতি রঙ চ্যানেলে প্রায় 1 জিবি ছবির আকারে পৌঁছাবেন। একটি উপযুক্ত ইমেজ প্রসেসিং লাইব্রেরি পাওয়া যায়নি যা প্রয়োজনীয় ডেটা আকার পরিচালনা করতে পারে, তাই কাস্টম তৈরি করা হয়েছিল। সেই সময়ের যন্ত্রগুলি আজকের মান অনুযায়ী খুব পরিমিত ছিলঃ একটি সান ওয়ার্কস্টেশনের দাম 40,000 পাউন্ড, 64 এমবি র্যাম ছিল এবং 25 মেগাহার্টজে চলেছিল, তাই এটি বেশ চ্যালেঞ্জিং ছিল। কার্ক তাঁর পিএইচডি চলাকালীন সহজ কিন্তু দ্রুত সি লাইব্রেরি তৈরি করেছিলেন যা ভিডিও প্রক্রিয়াকরণের জন্য মেমরি-ম্যাপ করা "ফ্রেমস্টোর"-এ কাজ করেছিল। কার্ক এবং নিকোস অনুপ্রেরণার জন্য এইচ. আই. পি. এস-এর দিকে তাকালেও পাইপগুলি খুব অকার্যকর বলে মনে করেন। সুতরাং ভিআইপিএস তাদের অভিজ্ঞতার পাশাপাশি প্রাথমিক ইউনিক্স ইমেজ প্রসেসিং সফ্টওয়্যারের উপর ভিত্তি করে তৈরি হয়েছিল। প্রারম্ভিক ভিআইপিএস কোড ইনপুটের জন্য মেমরি-ম্যাপ করা ফাইল ব্যবহার করত (তখন একটি উত্তেজনাপূর্ণ নতুনত্ব যা ফাইল আই/ও-এর চেয়ে দ্রুত ছিল) এবং একবারে ডেটা একটি স্ক্যানলাইন লিখেছিল। ন্যাশনাল গ্যালারিতে, জন কিউপিট সানভিউ, সূর্যের গ্রাফিকাল পরিবেশে "ভিএফ" নামে একটি জিইউআই লিখেছিলেন। প্রথম সংস্করণটি ওয়ার্কস্টেশন স্ক্রিনে একটি চিত্র প্রদর্শন করে এবং আপনাকে প্যান এবং জুম করতে দেয়। পরবর্তী সংস্করণে একটি সহজ অভিব্যক্তি ভাষা যোগ করা হয়েছে এবং আপনাকে একটি ছবি উজ্জ্বল করতে "এ + 12" এর মতো জিনিস টাইপ করতে দেওয়া হয়েছে। চিত্র প্রক্রিয়াকরণের জন্য এটির নাম পরিবর্তন করে "আইপি" রাখা হয়। এই প্রাথমিক পরীক্ষাগুলির মাধ্যমেই লিবভিআইপিএস-এর মৌলিক বিষয়গুলি তৈরি করা হয়েছিল। ভাসারি 1993 সালে শেষ হয় কিন্তু মার্ক নামে একটি ফলো-অন ইউরোপীয় প্রকল্প আরও উন্নয়নের অনুমতি দেয়। এর লক্ষ্য ছিল ভাসারিতে বিকশিত ইমেজিং কৌশলগুলি ব্যবহার করে একটি কালারিমেট্রিক ক্যামেরা তৈরি করা এবং একটি আর্ট ক্যাটালগ মুদ্রণের জন্য এটি ব্যবহার করা। নিকোস চলে যান এবং জন ভিআইপিএস লাইব্রেরি, জিইউআই এবং ক্যামেরা সফ্টওয়্যারের উন্নয়নের দায়িত্ব নেন। সান সবেমাত্র তাদের প্রথম দুটি সিপিইউ ওয়ার্কস্টেশন তৈরি করেছিল, তাই ভিআইপিএস এস. এম. পি সমর্থন অর্জন করেছিল। আরও একটি লক্ষ্য ছিল ডিস্ক আইও-তে ব্যয় করা সময় হ্রাস করা, তাই একই সময়ে মধ্যবর্তী সংরক্ষণের প্রয়োজন ছাড়াই অপারেটরদের একসাথে "চেইন" করার ক্ষমতা যুক্ত করা হয়েছিল। মোটিফ ইউজার-ইন্টারফেস টুলকিট ব্যবহার করার জন্য আইপি পুনর্লিখন করা হয়েছিল এবং সম্পূর্ণ সম্পাদনাযোগ্য ইতিহাস অর্জন করেছিল। 1997 সালে কার্ক মার্টিনেজ সাউদাম্পটন বিশ্ববিদ্যালয়ে চলে যান যাতে আরও প্রকল্পে (ভিজিয়াম, অ্যাকোহার এবং আর্টিস্ট সহ) এবং ভিআইপিএস এবং আইপি তাদের প্রয়োজনের প্রতিক্রিয়ায় বিকাশ এবং ব্যবহার অব্যাহত থাকে। 90-এর দশকের শেষের দিকে সফ্টওয়্যারটি সান থেকে লিনাক্সে স্থানান্তরিত হয় এবং আইপি মোটিফ থেকে জিটিকে +-এ স্থানান্তরিত হয়, যা নিপ হয়ে ওঠে। ভিআইপিএস 2 জিবি-র চেয়ে বড় ফাইল এবং 64 সিপিইউ পর্যন্ত ফাইলের জন্য সমর্থন অর্জন করেছে। জিটিকে +-2 এর জন্য নিপ আবার পুনর্লিখন করা হয়েছিল এবং আজ আমরা যে নিপ 2 জানি তা হয়ে উঠেছে। 2005 সালে, জন কিউপিট মেডিকেল ইমেজিং নিয়ে কাজ করার জন্য ন্যাশনাল গ্যালারি থেকে ইম্পেরিয়াল কলেজে চলে যান এবং ভিআইপিএস এবং এনআইপি2 সেখানে কাজ করার সময় অনেক বৈশিষ্ট্য অর্জন করে। সাম্প্রতিক সংযোজনগুলি বিশ্লেষণ, ডি. আই. সি. ও. এম. 3, এফ. আই. টি. এস, ম্যাটল্যাব এবং রেডিয়েন্স ইমেজ, রান-টাইম কোড জেনারেশন এবং একটি জি. ও. বি. জি. টি ফাউন্ডেশনের দিকে অগ্রসর হওয়ার জন্য সমর্থন করেছে। এটি জনের দক্ষতা এবং প্রোগ্রামিং দক্ষতা যা লিবভিপসকে আজ এত সফল করে তুলেছে। ব্যবহারকারীরা libVIPS বর্তমানে মিডিয়াউইকিতে এবং তাই উইকিপিডিয়া নিজেই ভিপ্সস্কেলার এক্সটেনশনে ব্যবহৃত হয়। এটি পূর্বে ব্যবহৃত সফ্টওয়্যারের তুলনায় চিত্র পরিচালনার গতি বাড়ায় এবং প্রসারিত করে এবং তাই ব্যস্ত সিস্টেমে প্রসেসরের সময় সাশ্রয় করে। অনুরূপ কারণে এটি এক হাজারেরও বেশি সংস্থার মধ্যে Booking.com, অ্যামাজন, নিউইয়র্ক টাইমস, fda.gov, হোমফাইন্ডার এবং আইডিয়ালিস্টা দ্বারা ব্যবহৃত হয়। জনপ্রিয় শার্প Node.js মডিউল এবং গ্যাটসবি লিবভিআইপিএস ব্যবহার করে যাতে সেগুলি ব্যবহারকারী ওয়েবসাইটগুলি লিবভিআইপিএস-এর উপর নির্ভর করে। অ্যামাজন ওয়েব সার্ভিসেস তাদের নির্দেশিকায় শার্প/ভিআইপিএস-এর সুপারিশ করে অনেক চিত্র সংরক্ষণাগার অনলাইনে খুব উচ্চ রেজোলিউশনের চিত্রগুলি ব্রাউজ করার অনুমতি দেওয়ার জন্য আইআইপিমেজ ব্যবহার করে-এবং এগুলি সাধারণত লিবভিআইপিএস ব্যবহার করে প্রস্তুত করা হয়। লাইসেন্স লিবভিপগুলি এলজিপিএল-এর অধীনে লাইসেন্সপ্রাপ্ত এবং নিপ2 জিপিএল-এর অধীনে লাইসেন্সপ্রাপ্ত। তথ্যসূত্র বাইরের লিঙ্ক ভিআইপিএস ওয়েবসাইট libvips github পৃষ্ঠা এনআইপি2 প্রদর্শনী ভিডিও চিত্র প্রক্রিয়াকরণ সফ্টওয়্যার ফ্রি সফ্টওয়্যার ক্রস-প্ল্যাটফর্ম ফ্রি সফ্টওয়্যার লিনাক্স গ্রাফিক্স সফ্টওয়্যারের জন্য সি গ্রাফিক্স-সম্পর্কিত সফ্টওয়্যারে প্রোগ্রাম করা ফ্রি সফ্টওয়্যার যা জিটিকে ব্যবহার করে